def _manager_default(self): from pychron.envisage.initialization.initialization_parser import \ InitializationParser ip = InitializationParser() plugin = ip.get_plugin('Experiment', category='general') mode = ip.get_parameter(plugin, 'mode') proto = 'pychron.database.isotope_database_manager.IsotopeDatabaseManager' iso_db_man = self.application.get_service(proto) # experimentor.iso_db_man = iso_db_man proto = 'pychron.dvc.dvc.DVC' dvc = self.application.get_service(proto) # experimentor.dvc = dvc experimentor = Experimentor(application=self.application, mode=mode, dvc=dvc, iso_db_man=iso_db_man) experimentor.executor.set_managers() experimentor.executor.bind_preferences() return experimentor
def _manager_factory(self): """ """ ip = InitializationParser() plugin = ip.get_plugin(self.klass[1].replace('Manager', ''), category='hardware') mode = ip.get_parameter(plugin, 'mode') if mode == 'client': klass = ip.get_parameter(plugin, 'klass') if klass is None: klass = 'PychronLaserManager' pkg = 'pychron.lasers.laser_managers.pychron_laser_manager' try: tag = ip.get_parameter(plugin, 'communications', element=True) # tag = plugin.find('communications') params = dict() for attr in ['host', 'port', 'kind']: try: params[attr] = tag.find(attr).text.strip() except Exception, e: print 'client comms fail', attr, e except Exception, e: print 'client comms fail', e params['name'] = self.name factory = __import__(pkg, fromlist=[klass]) m = getattr(factory, klass)(**params)
def _runner_factory(self): ip = InitializationParser() elm = ip.get_plugin('ClientExtractionLine', category='hardware') runner = elm.find('runner') if runner is None: self.warning_dialog('Script Runner is not configured in the Initialization file. See documentation') return host, port, kind, frame = None, None, None, None if runner is not None: comms = runner.find('communications') host = comms.find('host') port = comms.find('port') kind = comms.find('kind') frame = comms.find('message_frame') if host is not None: host = host.text # if host else 'localhost' if port is not None: port = int(port.text) # if port else 1061 if kind is not None: kind = kind.text # if kind else 'udp' if frame is not None: frame = frame.text runner = RemotePyScriptRunner(host, port, kind, frame) return runner
def _runner_factory(self): ip = InitializationParser() elm = ip.get_plugin('ClientExtractionLine', category='hardware') runner = elm.find('runner') if runner is None: self.warning_dialog( 'Script Runner is not configured in the Initialization file. See documentation' ) return host, port, kind, frame = None, None, None, None if runner is not None: comms = runner.find('communications') host = comms.find('host') port = comms.find('port') kind = comms.find('kind') frame = comms.find('message_frame') if host is not None: host = host.text # if host else 'localhost' if port is not None: port = int(port.text) # if port else 1061 if kind is not None: kind = kind.text # if kind else 'udp' if frame is not None: frame = frame.text runner = RemotePyScriptRunner(host, port, kind, frame) return runner
def _sources_default(self): ip = InitializationParser() plugin = ip.get_plugin(self.task_name.replace(' ', ''), category='hardware') source = ip.get_parameter(plugin, 'video_source') rs = [] if source: rs = [(source, self.task_name)] return rs
def _manager_factory(self): """ """ ip = InitializationParser() plugin = ip.get_plugin(self.klass[1].replace('Manager', ''), category='hardware') mode = ip.get_parameter(plugin, 'mode') self.mode = mode klass = ip.get_parameter(plugin, 'klass') if klass is None and mode == 'client': klass = 'PychronLaserManager' pkg = 'pychron.lasers.laser_managers.pychron_laser_manager' factory = __import__(pkg, fromlist=[klass]) klassfactory = getattr(factory, klass) else: factory = __import__(self.klass[0], fromlist=[self.klass[1]]) klassfactory = getattr(factory, self.klass[1]) params = dict(name=self.name) if mode == 'client': try: tag = ip.get_parameter(plugin, 'communications', element=True) for attr in [ 'host', 'port', 'kind', 'message_frame', ('use_end', to_bool) ]: func = None if isinstance(attr, tuple): attr, func = attr try: elem = tag.find(attr) if elem is not None: v = elem.text.strip() if func: v = func(v) params[attr] = v else: self.debug( 'No communications attribute {}'.format(attr)) except Exception as e: print('client comms fail a', attr, e) except Exception as e: print('client comms fail b', e) m = klassfactory(**params) m.mode = mode m.bootstrap() m.plugin_id = self.id m.bind_preferences(self.id) return m
def _factory(self): from pychron.envisage.initialization.initialization_parser import InitializationParser ip = InitializationParser() try: plugin = ip.get_plugin('ExtractionLine', category='hardware') mode = ip.get_parameter(plugin, 'mode') # mode = plugin.get('mode') except AttributeError: # no epxeriment plugin defined mode = 'normal' elm = ExtractionLineManager(mode=mode) elm.bind_preferences() return elm
def _manager_factory(self): """ """ ip = InitializationParser() plugin = ip.get_plugin(self.klass[1].replace('Manager', ''), category='hardware') mode = ip.get_parameter(plugin, 'mode') klass = ip.get_parameter(plugin, 'klass') if klass is None and mode == 'client': klass = 'PychronLaserManager' pkg = 'pychron.lasers.laser_managers.pychron_laser_manager' factory = __import__(pkg, fromlist=[klass]) klassfactory = getattr(factory, klass) else: factory = __import__(self.klass[0], fromlist=[self.klass[1]]) klassfactory = getattr(factory, self.klass[1]) params = dict(name=self.name) if mode == 'client': try: tag = ip.get_parameter(plugin, 'communications', element=True) for attr in ['host', 'port', 'kind', 'message_frame', ('use_end', to_bool)]: func = None if isinstance(attr, tuple): attr, func = attr try: elem = tag.find(attr) if elem is not None: v = elem.text.strip() if func: v = func(v) params[attr] = v else: self.debug('No communications attribute {}'.format(attr)) except Exception as e: print('client comms fail a', attr, e) except Exception as e: print('client comms fail b', e) m = klassfactory(**params) m.mode = mode m.bootstrap() m.plugin_id = self.id m.bind_preferences(self.id) return m
def _experimentor_default(self): # from pychron.experiment.experimentor import Experimentor ip = InitializationParser() plugin = ip.get_plugin('Experiment', category='general') mode = ip.get_parameter(plugin, 'mode') # app = None # if self.window: # app = self.window.application exp = Experimentor(application=self.application, mode=mode) return exp
def _runner_factory(self): # get the extraction line manager's mode man = self._get_el_manager() if man is None: self.warning_dialog('No Extraction line manager available') mode = 'normal' else: mode = man.mode if mode == 'client': # em = self.extraction_line_manager from pychron.envisage.initialization.initialization_parser import InitializationParser ip = InitializationParser() elm = ip.get_plugin('Experiment', category='general') runner = elm.find('runner') host, port, kind = None, None, None if runner is not None: comms = runner.find('communications') host = comms.find('host') port = comms.find('port') kind = comms.find('kind') if host is not None: host = host.text # if host else 'localhost' if port is not None: port = int(port.text) # if port else 1061 if kind is not None: kind = kind.text # if kind else 'udp' from pychron.pyscripts.pyscript_runner import RemotePyScriptRunner runner = RemotePyScriptRunner(host, port, kind) else: from pychron.pyscripts.pyscript_runner import PyScriptRunner runner = PyScriptRunner() return runner
def _manager_default(self): from pychron.envisage.initialization.initialization_parser import \ InitializationParser ip = InitializationParser() plugin = ip.get_plugin('Experiment', category='general') mode = ip.get_parameter(plugin, 'mode') man = Experimentor(application=self.application, mode=mode) iso = 'pychron.database.isotope_database_manager.IsotopeDatabaseManager' manager = self.application.get_service(iso) dvc = self.application.get_service('pychron.dvc.dvc.DVC') if dvc: man.dvc = dvc man.iso_db_manager = manager man.executor.set_managers() man.executor.bind_preferences() return man
def _manager_factory(self): """ """ ip = InitializationParser() plugin = ip.get_plugin(self.klass[1].replace('Manager', ''), category='hardware') mode = ip.get_parameter(plugin, 'mode') klass = ip.get_parameter(plugin, 'klass') if klass is None and mode == 'client': klass = 'PychronLaserManager' pkg = 'pychron.lasers.laser_managers.api' factory = __import__(pkg, fromlist=[klass]) klassfactory = getattr(factory, klass) else: factory = __import__(self.klass[0], fromlist=[self.klass[1]]) klassfactory = getattr(factory, self.klass[1]) params = dict(name=self.name) if mode == 'client': try: tag = ip.get_parameter(plugin, 'communications', element=True) for attr in ['host', 'port', 'kind', 'message_frame', ('use_end', to_bool)]: func = None if isinstance(attr, tuple): attr, func = attr try: v = tag.find(attr).text.strip() if func: v = func(v) params[attr] = v except Exception, e: print 'client comms fail a', attr, e except Exception, e: print 'client comms fail b', e