+++ /dev/null
-class HookeCli(cmd.Cmd, object):
-
- def __init__(self,frame,list_of_events,events_from_gui,config,drivers):
- cmd.Cmd.__init__(self)
-
- self.prompt = 'hooke: '
- self.current_list=[] #the playlist we're using
- self.current=None #the current curve under analysis.
- self.plots=None
- '''
- The actual hierarchy of the "current curve" is a bit complex:
-
- self.current = the lhc.HookeCurve container object of the current curve
- self.current.curve = the current "real" curve object as defined in the filetype driver class
- self.current.curve.default_plots() = the default plots of the filetype driver.
-
- The plot objects obtained by mean of self.current.curve.default_plots()
- then undergoes modifications by the plotmanip
- modifier functions. The modified plot is saved in self.plots and used if needed by other functions.
- '''
- self.pointer=0 #a pointer to navigate the current list
-
- #Things that come from outside
- self.frame=frame #the wx frame we refer to
- self.list_of_events=list_of_events #a list of wx events we use to interact with the GUI
- self.events_from_gui=events_from_gui #the Queue object we use to have messages from the GUI
- self.config=config #the configuration dictionary
- self.drivers=drivers #the file format drivers
-
- #get plot manipulation functions
- plotmanip_functions=[]
- for object_name in dir(self):
- if object_name[0:9]=='plotmanip':
- plotmanip_functions.append(getattr(self,object_name))
- #put plotmanips in order
- self.plotmanip=[None for item in self.config['plotmanips']]
- for item in plotmanip_functions:
- namefunction=item.__name__[10:]
- if namefunction in self.config['plotmanips']:
- nameindex=self.config['plotmanips'].index(namefunction) #index of function in plotmanips config
- self.plotmanip[nameindex] = item
- else:
- pass
-
-
- self.playlist_saved=0 #Did we save the playlist?
- self.playlist_name='' #Name of playlist
- self.notes_saved=1 #Did we save the notes?
- self.notes_filename=None #Name of notes
-
- #create outlet
- self.outlet=lout.Outlet()
-
- #Data that must be saved in the playlist, related to the whole playlist (not individual curves)
- self.playlist_generics={}
-
- #make sure we execute _plug_init() for every command line plugin we import
- for plugin_name in self.config['plugins']:
- try:
- plugin=__import__(plugin_name)
- try:
- eval('plugin.'+plugin_name+'Commands._plug_init(self)')
- except AttributeError:
- pass
- except ImportError:
- pass
-
- #load default list, if possible
- self.do_loadlist(self.config['defaultlist'])