Skip to content

Commit

Permalink
delegate parameter checks to gclean
Browse files Browse the repository at this point in the history
  • Loading branch information
schiebel committed Jan 4, 2024
1 parent 2cc5f67 commit 262506b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 31 deletions.
24 changes: 9 additions & 15 deletions casagui/apps/_interactiveclean.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import shutil
import websockets
from uuid import uuid4
from html import escape as html_escape
from contextlib import asynccontextmanager
from bokeh.models import Button, TextInput, Div, LinearAxis, CustomJS, Spacer, Span, HoverTool, DataRange1d, Step
from bokeh.events import ModelEvent, MouseEnter
Expand All @@ -44,7 +45,7 @@

from bokeh.models.ui.tooltips import Tooltip
from ..bokeh.models import TipButton, Tip
from ..utils import resource_manager, reset_resource_manager, is_notebook, is_intstr
from ..utils import resource_manager, reset_resource_manager, is_notebook
from casatasks.private.imagerhelpers.imager_return_dict import ImagingDict

try:
Expand Down Expand Up @@ -679,15 +680,6 @@ def _launch_gui( self ):
async def clean_handler( msg, self=self ):
if msg['action'] == 'next' or msg['action'] == 'finish':

if 'nmajor' in msg['value']:
if is_intstr(msg['value']['nmajor']):
nm = int(msg['value']['nmajor'])
if nm == 0 or nm < -1:
### nm == -1 means do not consider nmajor as part of the stopping decision
return dict( result='no-action', stopcode=1, iterdone=0, majordone=0, stopdesc="major cycle limit must be >= -1" )
else:
return dict( result='error', stopcode=1, iterdone=0, majordone=0, stopdesc="major cycle limit is not an integer" )

if 'mask' in msg['value']:
if 'breadcrumbs' in msg['value'] and msg['value']['breadcrumbs'] is not None and msg['value']['breadcrumbs'] != self._last_mask_breadcrumbs:
self._last_mask_breadcrumbs = msg['value']['breadcrumbs']
Expand All @@ -708,11 +700,13 @@ async def clean_handler( msg, self=self ):
pass

iteration_limit = int(msg['value']['niter'])
self._clean.update( dict( niter=msg['value']['niter'],
cycleniter=msg['value']['cycleniter'],
nmajor=msg['value']['nmajor'],
threshold=msg['value']['threshold'],
cyclefactor=msg['value']['cyclefactor'] ) )
err,errmsg = self._clean.update( dict( niter=msg['value']['niter'],
cycleniter=msg['value']['cycleniter'],
nmajor=msg['value']['nmajor'],
threshold=msg['value']['threshold'],
cyclefactor=msg['value']['cyclefactor'] ) )

if err: return dict( result='no-action', stopcode=1, iterdone=0, majordone=0, stopdesc=html_escape(errmsg) )

stopdesc, stopcode, majordone, majorleft, iterleft, self._convergence_data = await self._clean.__anext__( )

Expand Down
16 changes: 0 additions & 16 deletions casagui/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -607,19 +607,3 @@ def is_notebook() -> bool:
return False # Other type (?)
except NameError:
return False

def is_intstr( s ):
'''Check to see if a string contains an integer. The standard python checks do not
handle things like "-1" or "+45":
Parameters
----------
s: str
string to be checked
'''
try:
int(s)
except ValueError:
return False
else:
return True

0 comments on commit 262506b

Please sign in to comment.