def delete_device(self): SardanaDevice.delete_device(self) self._macro_server.clear_log_report() # Workaround for bug #494. factory = taurus.Factory("tango") for attr in factory.tango_attrs.values(): attr.cleanUp()
def delete_device(self): SardanaDevice.delete_device(self) self._macro_server.clear_log_report() # Workaround for bug #494. factory = taurus.Factory("tango") for attr in factory.tango_attrs.values(): attr.cleanUp()
def init_device(self): SardanaDevice.init_device(self) self.set_change_event('State', True, False) self.set_change_event('Status', True, False) self.set_change_event('TypeList', True, False) self.set_change_event('DoorList', True, False) self.set_change_event('MacroList', True, False) self.set_change_event('MacroLibList', True, False) self.set_change_event('Elements', True, False) self.set_change_event('Environment', True, False) dev_class = self.get_device_class() self.get_device_properties(dev_class) self.EnvironmentDb = self._calculate_name(self.EnvironmentDb) self.LogReportFilename = self._calculate_name(self.LogReportFilename) macro_server = self.macro_server macro_server.set_python_path(self.PythonPath) macro_server.set_max_parallel_macros(self.MaxParallelMacros) # if it is not possible to store/retrieve the environment from the # current path then setup a new unique path and store the environment # there forever try: macro_server.set_environment_db(self.EnvironmentDb) except: self.error("Failed to set environment DB to %s", self.EnvironmentDb) self.debug("Details:", exc_info=1) import tempfile env_db = os.path.join(tempfile.mkdtemp(), MacroServerClass.DefaultEnvRelDir) env_db = self._calculate_name(env_db) db = Util.instance().get_database() db.put_device_property(self.get_name(), dict(EnvironmentDb=env_db)) self.EnvironmentDb = env_db macro_server.set_environment_db(self.EnvironmentDb) try: macro_server.set_log_report( self.LogReportFilename, self.LogReportFormat) except: self.error("Failed to setup log report to %s", self.LogReportFilename) self.debug("Details:", exc_info=1) macro_server.set_recorder_path(self.RecorderPath) macro_server.set_macro_path(self.MacroPath) macro_server.set_pool_names(self.PoolNames) if self.RConsolePort: try: import rfoo.utils.rconsole rfoo.utils.rconsole.spawn_server(port=self.RConsolePort) except Exception: self.warning("Failed to start rconsole") self.debug("Details:", exc_info=1) self.set_state(DevState.ON)
def init_device(self): SardanaDevice.init_device(self) self.set_change_event('State', True, False) self.set_change_event('Status', True, False) self.set_change_event('TypeList', True, False) self.set_change_event('DoorList', True, False) self.set_change_event('MacroList', True, False) self.set_change_event('MacroLibList', True, False) self.set_change_event('Elements', True, False) self.set_change_event('Environment', True, False) dev_class = self.get_device_class() self.get_device_properties(dev_class) self.EnvironmentDb = self._calculate_name(self.EnvironmentDb) self.LogReportFilename = self._calculate_name(self.LogReportFilename) macro_server = self.macro_server macro_server.set_python_path(self.PythonPath) macro_server.set_max_parallel_macros(self.MaxParallelMacros) # if it is not possible to store/retrieve the environment from the # current path then setup a new unique path and store the environment # there forever try: macro_server.set_environment_db(self.EnvironmentDb) except: self.error("Failed to set environment DB to %s", self.EnvironmentDb) self.debug("Details:", exc_info=1) import tempfile env_db = os.path.join(tempfile.mkdtemp(), MacroServerClass.DefaultEnvRelDir) env_db = self._calculate_name(env_db) db = Util.instance().get_database() db.put_device_property(self.get_name(), dict(EnvironmentDb=env_db)) self.EnvironmentDb = env_db macro_server.set_environment_db(self.EnvironmentDb) try: macro_server.set_log_report(self.LogReportFilename, self.LogReportFormat) except: self.error("Failed to setup log report to %s", self.LogReportFilename) self.debug("Details:", exc_info=1) macro_server.set_recorder_path(self.RecorderPath) macro_server.set_macro_path(self.MacroPath) macro_server.set_pool_names(self.PoolNames) if self.RConsolePort: try: import rfoo.utils.rconsole rfoo.utils.rconsole.spawn_server(port=self.RConsolePort) except Exception: self.warning("Failed to start rconsole") self.debug("Details:", exc_info=1) self.set_state(DevState.ON)
def init(self, name): SardanaDevice.init(self, name) if self._alias is None: self._alias = Util.instance().get_ds_inst_name() self._macro_server = ms = MS(self.get_full_name(), self.alias) ms.add_listener(self.on_macro_server_changed)
def init(self, name): SardanaDevice.init(self, name) if self._alias is None: self._alias = Util.instance().get_ds_inst_name() self._macro_server = ms = MS(self.get_full_name(), self.alias) ms.add_listener(self.on_macro_server_changed)
def init(self, name): """initialize the device once in the object lifetime. Override when necessary but **always** call the method from your super class :param str name: device name""" SardanaDevice.init(self, name) util = Util.instance() self._pool_device = util.get_device_list_by_class("Pool")[0] self._element = None
def init(self, name): """initialize the device once in the object lifetime. Override when necessary but **always** call the method from your super class :param str name: device name""" SardanaDevice.init(self, name) util = Util.instance() self._pool_device = util.get_device_list_by_class("Pool")[0] self._element = None
def init_device(self): SardanaDevice.init_device(self) levels = 'Critical', 'Error', 'Warning', 'Info', 'Output', 'Debug' detect_evts = () non_detect_evts = [ 'State', 'Status', 'Result', 'RecordData', 'MacroStatus', 'Input' ] + list(levels) self.set_change_events(detect_evts, non_detect_evts) util = Util.instance() db = util.get_database() # Find the macro server for this door macro_servers = util.get_device_list_by_class("MacroServer") if self.MacroServerName is None: self._macro_server_device = macro_servers[0] else: ms_name = self.MacroServerName.lower() for ms in macro_servers: if ms.get_name().lower() == ms_name or \ ms.alias.lower() == ms_name: self._macro_server_device = ms break # support for old doors which didn't have ID if self.Id == InvalidId: self.Id = self.macro_server_device.macro_server.get_new_id() db.put_device_property(self.get_name(), dict(Id=self.Id)) door = self.door if door is None: full_name = self.get_name() name = full_name macro_server = self.macro_server_device.macro_server self.door = door = \ macro_server.create_element(type="Door", name=name, full_name=full_name, id=self.Id) self._setupLogHandlers(levels) multi_attr = self.get_device_attr() input_attr = multi_attr.get_attr_by_name('Input') self._input_handler = ih = TangoInputHandler(self, input_attr) door.set_input_handler(ih) recorddata_attr = multi_attr.get_attr_by_name('RecordData') self._pylab_handler = pylabh = TangoPylabHandler(self, recorddata_attr) door.set_pylab_handler(pylabh) self._pyplot_handler = pyploth = TangoPyplotHandler( self, recorddata_attr) door.set_pyplot_handler(pyploth) door.add_listener(self.on_door_changed) self.set_state(DevState.ON)
def init_device(self): SardanaDevice.init_device(self) levels = 'Critical', 'Error', 'Warning', 'Info', 'Output', 'Debug' detect_evts = () non_detect_evts = ['State', 'Status', 'Result', 'RecordData', 'MacroStatus', 'Input'] + list(levels) self.set_change_events(detect_evts, non_detect_evts) util = Util.instance() db = util.get_database() # Find the macro server for this door macro_servers = util.get_device_list_by_class("MacroServer") if self.MacroServerName is None: self._macro_server_device = macro_servers[0] else: ms_name = self.MacroServerName.lower() for ms in macro_servers: if ms.get_name().lower() == ms_name or \ ms.alias.lower() == ms_name: self._macro_server_device = ms break # support for old doors which didn't have ID if self.Id == InvalidId: self.Id = self.macro_server_device.macro_server.get_new_id() db.put_device_property(self.get_name(), dict(Id=self.Id)) door = self.door if door is None: full_name = self.get_name() name = full_name macro_server = self.macro_server_device.macro_server self.door = door = \ macro_server.create_element(type="Door", name=name, full_name=full_name, id=self.Id) self._setupLogHandlers(levels) multi_attr = self.get_device_attr() input_attr = multi_attr.get_attr_by_name('Input') self._input_handler = ih = TangoInputHandler(self, input_attr) door.set_input_handler(ih) recorddata_attr = multi_attr.get_attr_by_name('RecordData') self._pylab_handler = pylabh = TangoPylabHandler(self, recorddata_attr) door.set_pylab_handler(pylabh) self._pyplot_handler = pyploth = TangoPyplotHandler( self, recorddata_attr) door.set_pyplot_handler(pyploth) door.add_listener(self.on_door_changed) self.set_state(DevState.ON)
def dev_status(self): self._status = SardanaDevice.dev_status(self) self._status += '\n Macro stack ([state] macro):' macro = self.getRunningMacro() mstack = '' while macro is not None: mstate = macro.getMacroStatus()['state'] mstack = '\n -[%s]\t%s' % (mstate, macro.getCommand()) + mstack macro = macro.getParentMacro() self._status += mstack return self._status
def dev_status(self): self._status = SardanaDevice.dev_status(self) self._status += '\n Macro stack ([state] macro):' macro = self.getRunningMacro() mstack = '' while macro is not None: mstate = macro.getMacroStatus()['state'] mstack = '\n -[%s]\t%s' % (mstate, macro.getCommand()) + mstack macro = macro.getParentMacro() self._status += mstack return self._status
def delete_device(self): """Clean the device. Called during shutdown and every time the tango ``Init`` command is executed. Override when necessary but **always** call the method from your super class""" SardanaDevice.delete_device(self)
def __init__(self, cl, name): self._macro_server = None SardanaDevice.__init__(self, cl, name)
def delete_device(self): SardanaDevice.delete_device(self) self.clear_log_report()
def __init__(self, dclass, name): SardanaDevice.__init__(self, dclass, name) self._last_result = () self._input_handler = None
def __init__(self, cl, name): self._macro_server = None SardanaDevice.__init__(self, cl, name)
def init(self, name): SardanaDevice.init(self, name) self._door = None self._macro_server_device = None
def __init__(self, dclass, name): SardanaDevice.__init__(self, dclass, name) self._last_result = () self._input_handler = None
def __init__(self, dclass, name): """Constructor""" SardanaDevice.__init__(self, dclass, name)
def init_device(self): """Initialize the device. Called during startup after :meth:`init` and every time the tango ``Init`` command is executed. Override when necessary but **always** call the method from your super class""" SardanaDevice.init_device(self)
def delete_device(self): """Clean the device. Called during shutdown and every time the tango ``Init`` command is executed. Override when necessary but **always** call the method from your super class""" SardanaDevice.delete_device(self)
def init_device(self): """Initialize the device. Called during startup after :meth:`init` and every time the tango ``Init`` command is executed. Override when necessary but **always** call the method from your super class""" SardanaDevice.init_device(self)
def init(self, name): SardanaDevice.init(self, name) self._door = None self._macro_server_device = None
def __init__(self, dclass, name): """Constructor""" SardanaDevice.__init__(self, dclass, name)
def delete_device(self): SardanaDevice.delete_device(self) self.clear_log_report()