예제 #1
0
 def read_script(self):
     from ifigure.mdsplus.fig_mds import read_scriptfile
     fmds = self.figmds()
     lc = fmds.get_script_local()
     if fmds is None: return
     if (fmds.has_owndir() and fmds.hasvar('path')):
         fname = os.path.join(fmds.owndir(), fmds.getvar('path'))
         txt = read_scriptfile(fname)
         return True, lc, txt
     return False, lc, ''
예제 #2
0
 def read_script(self):
     from ifigure.mdsplus.fig_mds import read_scriptfile
     fmds = self.figmds()
     lc = fmds.get_script_local()
     if fmds is None: return
     if (fmds.has_owndir() and
         fmds.hasvar('path')):
         fname = os.path.join(fmds.owndir(), fmds.getvar('path'))
         txt = read_scriptfile(fname)
         return True,  lc, txt
     return False, lc,  ''
예제 #3
0
    def __init__(self, *args, **kargs):
        if "show_prop" in kargs:
            show_prop = kargs["show_prop"]
            del kargs["show_prop"]
        else:
            show_prop = False
        if "worker" in kargs:
            self.workers = kargs['worker']
            del kargs["worker"]
        else:
            self.workers = None

        super(MDSScopeNW, self).__init__(*args, **kargs)
        ScopeEngine.__init__(self, no_window=True)

        if self.book is not None:
            #            for page in self.book.walk_page():
            self.prepare_dwglobal(self.book)
            if not self.book.hasvar('mdsplus_server'):
                p = SettingParser()
                v = p.read_setting('mdsplus.default_mdsserver')
                self.book.setvar('mdsplus_server', v['server'])
#                                 'direct::CMOD')
            if not self.book.hasvar('mdsscript_main'):
                self.book.setvar('mdsscript_main', True)
            if not self.book.hasvar('mdsscope_autogrid'):
                self.book.setvar('mdsscope_autogrid', True)
            if not self.book.hasvar('mdsscope_listenevent'):
                self.book.setvar('mdsscope_listenevent', True)
            if not self.book.hasvar('dwscope_filename'):
                self.book.setvar('dwscope_filename', '')
            from ifigure.mdsplus.fig_mdsbook import convert2figmdsbook
            convert2figmdsbook(self.book)

        self.g = {}  ## global variabls for mainthread scripting
        self._title_mdsjob_count = 0
        self._mdsjob_count = 0
        self._cur_shot = 0
        self._mds_exit_status = 0
        self._figmds_list = []
        self.mpanalysis = False
        self._mpanalysis_mode = True
        self.parallel_page = True
        self.parallel_shot = True
        self.parallel_sec = True
        self.init_beginning = True
        self.init_page = False
        self.init_shot = False
        self.init_sec = False
        self.debug_mode = False
        self.timer = None

        self.previous_shot_set = [[]]
        self.event_dict = {}
        self.InitUI()
        from numpy import linspace
        self._shot_dict = {'linspace': linspace}
        #        self.Thaw()

        proj = self.book.get_root_parent()
        proj = self.book.get_root_parent()
        if self.workers is None:
            if proj.setting.has_child('mdsplus_worker'):
                self.workers = proj.setting.mdsplus_worker
            else:
                file = os.path.join(ifigure.__path__[0], 'add_on', 'setting',
                                    'module', 'mdsplus_worker.py')

                workers = proj.setting.add_absmodule(file)
                workers.rename('mdsplus_worker')
                self.workers = workers

        p = SettingParser()
        p.set_rule('global_set', {}, nocheck=True)
        self.scope_setting = p.read_setting('mdsplus.scope_setting')

        from ifigure.ifigure_config import rcdir, ifiguredir
        mname = 'mdsplus.fig_mds_startup_script'
        def_file = os.path.join(*([ifiguredir] + mname.split('.')))
        user_file = os.path.join(*([rcdir] + mname.split('.'))) + '.py'
        if not os.path.exists(user_file):
            shutil.copy(def_file, user_file)
        self.startup_script = user_file
        dc = {}
        dg = {}
        from ifigure.mdsplus.fig_mds import read_scriptfile
        exec read_scriptfile(self.startup_script) in dg, dc
        self.startup_values = dc

        self._start_mds_threads()  # start session runner and event listener

        self.workers.call_method('onStartWorker')
        #        self.start_pool()
        self.open_engine()
예제 #4
0
    def __init__(self, *args, **kargs):
        if "show_prop" in kargs:
           show_prop = kargs["show_prop"]
           del kargs["show_prop"]
        else:
           show_prop = False
        if "worker" in kargs:
            self.workers = kargs['worker']
            del kargs["worker"]          
        else: 
            self.workers = None

        super(MDSScopeNW, self).__init__(*args, **kargs)
        ScopeEngine.__init__(self, no_window = True)

        if self.book is not None:
#            for page in self.book.walk_page():
            self.prepare_dwglobal(self.book)
            if not self.book.hasvar('mdsplus_server'):
                p = SettingParser()
                v = p.read_setting('mdsplus.default_mdsserver')
                self.book.setvar('mdsplus_server',
                                  v['server'])
#                                 'direct::CMOD')
            if not self.book.hasvar('mdsscript_main'):
                self.book.setvar('mdsscript_main',
                                 True)
            if not self.book.hasvar('mdsscope_autogrid'):
                self.book.setvar('mdsscope_autogrid',
                                 True)
            if not self.book.hasvar('mdsscope_listenevent'):
                self.book.setvar('mdsscope_listenevent',
                                 True)
            if not self.book.hasvar('dwscope_filename'):
                self.book.setvar('dwscope_filename','')
            from ifigure.mdsplus.fig_mdsbook import convert2figmdsbook
            convert2figmdsbook(self.book)

        self.g = {} ## global variabls for mainthread scripting
        self._title_mdsjob_count = 0
        self._mdsjob_count = 0
        self._cur_shot = 0
        self._mds_exit_status = 0
        self._figmds_list = []
        self.mpanalysis = False
        self._mpanalysis_mode = True
        self.parallel_page = True
        self.parallel_shot = True
        self.parallel_sec = True
        self.init_beginning = True
        self.init_page = False
        self.init_shot = False
        self.init_sec = False
        self.debug_mode = False
        self.timer = None

        self.previous_shot_set = [[]]
        self.event_dict ={}
        self.InitUI()
        from numpy import linspace
        self._shot_dict = {'linspace':linspace}      
#        self.Thaw()

        proj = self.book.get_root_parent()
        proj = self.book.get_root_parent()
        if self.workers is None:
            if proj.setting.has_child('mdsplus_worker'):
                self.workers = proj.setting.mdsplus_worker
            else:
                file = os.path.join(ifigure.__path__[0], 'add_on', 
                            'setting', 'module', 'mdsplus_worker.py')

                workers = proj.setting.add_absmodule(file)
                workers.rename('mdsplus_worker')
                self.workers = workers

        p = SettingParser()
        p.set_rule('global_set',{}, nocheck=True)
        self.scope_setting = p.read_setting('mdsplus.scope_setting')

        from ifigure.ifigure_config import rcdir, ifiguredir
        mname = 'mdsplus.fig_mds_startup_script'
        def_file = os.path.join(*([ifiguredir] + mname.split('.')))
        user_file = os.path.join(*([rcdir] + mname.split('.')))+'.py'
        if not os.path.exists(user_file):
            shutil.copy(def_file, user_file)
        self.startup_script = user_file
        dc = {}; dg = {}
        from ifigure.mdsplus.fig_mds import read_scriptfile
        exec read_scriptfile(self.startup_script) in dg, dc
        self.startup_values = dc

        self._start_mds_threads() # start session runner and event listener

        self.workers.call_method('onStartWorker')        
#        self.start_pool()
        self.open_engine()