コード例 #1
0
    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
コード例 #2
0
ファイル: laser_plugin.py プロジェクト: UManPychron/pychron
    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)
コード例 #3
0
    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
コード例 #4
0
    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
コード例 #5
0
ファイル: laser_plugin.py プロジェクト: OSUPychron/pychron
 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
コード例 #6
0
 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
コード例 #7
0
ファイル: laser_plugin.py プロジェクト: ael-noblegas/pychron
    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
コード例 #8
0
    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
コード例 #9
0
ファイル: laser_plugin.py プロジェクト: NMGRL/pychron
    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
コード例 #10
0
    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
コード例 #11
0
ファイル: pyscript_task.py プロジェクト: UManPychron/pychron
    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
コード例 #12
0
    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
コード例 #13
0
    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
コード例 #14
0
ファイル: experiment_task.py プロジェクト: kenlchen/pychron
    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
コード例 #15
0
ファイル: laser_plugin.py プロジェクト: OSUPychron/pychron
    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