diff --git a/schainpy/model/graphics/jroplot_parameters.py b/schainpy/model/graphics/jroplot_parameters.py index eb87882..dd1dbb1 100644 --- a/schainpy/model/graphics/jroplot_parameters.py +++ b/schainpy/model/graphics/jroplot_parameters.py @@ -1,7 +1,7 @@ import os import datetime import numpy - +import inspect from figure import Figure, isRealtime, isTimeInHourRange from plotting_codes import * @@ -642,7 +642,6 @@ class ParametersPlot(Figure): save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True, server=None, folder=None, username=None, password=None, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0): - """ Input: @@ -792,7 +791,7 @@ class Parameters1Plot(Figure): self.__nsubplots = 1 self.WIDTH = 800 - self.HEIGHT = 150 + self.HEIGHT = 180 self.WIDTHPROF = 120 self.HEIGHTPROF = 0 self.counter_imagwr = 0 @@ -857,7 +856,7 @@ class Parameters1Plot(Figure): save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True, server=None, folder=None, username=None, password=None, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0): - + #print inspect.getargspec(self.run).args """ Input: diff --git a/schainpy/model/proc/jroproc_base.py b/schainpy/model/proc/jroproc_base.py index 08e6beb..5025427 100644 --- a/schainpy/model/proc/jroproc_base.py +++ b/schainpy/model/proc/jroproc_base.py @@ -3,6 +3,30 @@ $Author: murco $ $Id: jroproc_base.py 1 2012-11-12 18:56:07Z murco $ ''' +import inspect +from fuzzywuzzy import process + +def checkKwargs(method, kwargs): + currentKwargs = kwargs + choices = inspect.getargspec(method).args + try: + choices.remove('self') + except Exception as e: + pass + + try: + choices.remove('dataOut') + except Exception as e: + pass + + for kwarg in kwargs: + fuzz = process.extractOne(kwarg, choices) + print fuzz + if fuzz is None: + continue + if fuzz[1] < 100: + raise Exception('\x1b[2;30;43mDid you mean {} instead of {} in {}? \x1b[0m'. + format(fuzz[0], kwarg, method.__self__.__class__.__name__)) class ProcessingUnit(object): @@ -41,14 +65,18 @@ class ProcessingUnit(object): self.args = args self.kwargs = kwargs + checkKwargs(self.run, kwargs) + + def getAllowedArgs(self): + return inspect.getargspec(self.run).args def addOperationKwargs(self, objId, **kwargs): ''' ''' - + self.operationKwargs[objId] = kwargs - - + + def addOperation(self, opObj, objId): """ @@ -117,16 +145,16 @@ class ProcessingUnit(object): #Executing the self method if hasattr(self, 'mp'): - if name=='run': - if self.mp is False: + if name=='run': + if self.mp is False: self.mp = True self.start() - else: - methodToCall(**self.operationKwargs[opId]) + else: + methodToCall(**self.operationKwargs[opId]) else: - if name=='run': + if name=='run': methodToCall(**self.kwargs) - else: + else: methodToCall(**self.operationKwargs[opId]) if self.dataOut is None: @@ -280,6 +308,10 @@ class Operation(object): self.__buffer = None self.isConfig = False self.kwargs = kwargs + checkKwargs(self.run, kwargs) + + def getAllowedArgs(self): + return inspect.getargspec(self.run).args def setup(self): diff --git a/schainpy/scripts/PPD.py b/schainpy/scripts/PPD.py index f9f46d4..d4569de 100644 --- a/schainpy/scripts/PPD.py +++ b/schainpy/scripts/PPD.py @@ -11,11 +11,11 @@ def fiber(cursor, skip, q, dt): controllerObj.setup(id='191', name='test01', description=desc) readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path='/home/nanosat/data/hysell_data20/pdata', + path='/home/nanosat/data/julia', startDate=dt, endDate=dt, startTime="00:00:00", - endTime="23:59:59", + endTie="23:59:59", online=0, #set=1426485881, delay=10, @@ -29,8 +29,8 @@ def fiber(cursor, skip, q, dt): # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - # opObj11 = procUnitConfObj2.addParameter(name='pairsList', value='(0,1)', format='pairslist') - # + # procUnitConfObj2.addParameter(name='nipp', value='5', format='int') + procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other') @@ -44,10 +44,19 @@ def fiber(cursor, skip, q, dt): # opObj11.addParameter(name='save', value='1', format='int') # opObj11.addParameter(name='figpath', value=figpath, format='str') - # opObj11 = procUnitConfObj2.addOperation(name='RTIPlot', optype='other') - # opObj11.addParameter(name='id', value='2000', format='int') - # opObj11.addParameter(name='wintitzmaxle', value='HF_Jicamarca', format='str') - # opObj11.addParameter(name='showprofile', value='0', format='int') + opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other') + opObj11.addParameter(name='channelList', value='0', format='intList') + + opObj11.addParameter(name='id', value='2000', format='int') + # opObj11.addParameter(name='colormap', value='0', format='bool') + opObj11.addParameter(name='onlySNR', value='1', format='bool') + opObj11.addParameter(name='DOP', value='0', format='bool') + # opObj11.addParameter(name='showSNR', value='1', format='bool') + # opObj11.addParameter(name='SNRthresh', value='0', format='int') + # opObj11.addParameter(name='SNRmin', value='-10', format='int') + # opObj11.addParameter(name='SNRmax', value='30', format='int') + + # opObj11.addParameter(name='showSNR', value='1', format='int') # # opObj11.addParameter(name='channelList', value='0', format='intlist') # # opObj11.addParameter(name='xmin', value='0', format='float') # opObj11.addParameter(name='xmin', value='0', format='float') diff --git a/schainpy/scripts/schain.xml b/schainpy/scripts/schain.xml index 6497cc5..3e7d3bb 100644 --- a/schainpy/scripts/schain.xml +++ b/schainpy/scripts/schain.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file