def load_monitor_state(self, config): """ """ if 'custom' in config: for e in config['custom']: entry = MonitoredEntry() entry.update_members_from_preferences(**e) self.custom_entries.append[entry] entries = set(self.displayed_entries + self.undisplayed_entries +\ self.hidden_entries + self.custom_entries) pref_disp = config['displayed']; pref_undisp = config['undisplayed'] pref_hidden = config['hidden'] disp = [e for e in entries if e.path in pref_disp] entries -= set(disp) undisp = [e for e in entries if e.path in pref_undisp] entries -= set(undisp) hidden = [e for e in entries if e.path in pref_hidden] entries -= set(hidden) if entries: print [e.path for e in entries] information(parent = None, title = 'Unhandled entries', text = cleandoc('''The application of new rules lead to the creation of new entries. These entries has been added to the displayed ones.''')) pref_disp += entries pass self.displayed_entries = disp self.undisplayed_entries = undisp self.hidden_entries = hidden self.measure_name = config['measure_name']
def close(self, view, is_ok): model = view.instr connection_form = model.connection_form if is_ok: if (model.name != '' and model.driver_type and model.driver != '' and connection_form.check()): connection_dict = connection_form.connection_dict() try: instr = DRIVERS[model.driver](connection_dict) instr.close_connection() except InstrIOError: message = cleandoc(u"""The software failed to establish the connection with the instrument please check all parameters and instrument state and try again""") critical(parent=view, text=fill(message, 80), title='Connection failure') view.result = True view.close() else: message = cleandoc(u"""You must fill the fields : name, driver type, driver, {} before validating""".format(connection_form.required_fields())) information(parent=view, text=fill(message, 80), title='Missing information') else: view.close()
def close(self, view, is_ok): model = view.instr connection_form = model.connection_form if is_ok: if (model.name != '' and model.driver_type and model.driver != '' and connection_form.check()): connection_dict = connection_form.connection_dict() try: instr = DRIVERS[model.driver](connection_dict) instr.close_connection() except InstrIOError: message = cleandoc(u"""The software failed to establish the connection with the instrument please check all parameters and instrument state and try again""") critical(parent = view, text = fill(message, 80), title = 'Connection failure') view.result = True view.close() else: message = cleandoc(u"""You must fill the fields : name, driver type, driver, {} before validating""".format(connection_form.required_fields()) ) information(parent = view, text = fill(message, 80), title = 'Missing information') else: view.close()
def set_state(self, config, entries): # Request all the rules class from the plugin. rules_config = [ conf for name, conf in config.iteritems() if name.startswith('rule_') ] # Rebuild all rules. rules = [] for rule_config in rules_config: rule = self._plugin.build_rule(rule_config) if rule is not None: rules.append(rule) self.rules = rules customs_config = [ conf for name, conf in config.iteritems() if name.startswith('custom_') ] for custom_config in customs_config: entry = MonitoredEntry() entry.update_members_from_preferences(**custom_config) self.custom_entries.append(entry) self.refresh_monitored_entries(entries) m_entries = set(self.displayed_entries + self.undisplayed_entries + self.hidden_entries + self.custom_entries) pref_disp = eval(config['displayed']) pref_undisp = eval(config['undisplayed']) pref_hidden = eval(config['hidden']) disp = [e for e in m_entries if e.path in pref_disp] m_entries -= set(disp) undisp = [e for e in m_entries if e.path in pref_undisp] m_entries -= set(undisp) hidden = [e for e in m_entries if e.path in pref_hidden] m_entries -= set(hidden) if m_entries: e_l = [e.name for e in m_entries] mess = cleandoc('''The following entries were not expected from the config : {} . These entries has been added to the displayed ones.''') information(parent=None, title='Unhandled entries', text=fill(mess.format(e_l))) pref_disp += list(m_entries) self.displayed_entries = disp self.undisplayed_entries = undisp self.hidden_entries = hidden self.measure_name = config['measure_name'] self.auto_show = eval(config['auto_show'])
def set_state(self, config, entries): """Rebuild all rules and dispatch entries according to the state. """ # Request all the rules class from the plugin. rules_config = [conf for name, conf in config.iteritems() if name.startswith('rule_')] # Rebuild all rules. rules = [] for rule_config in rules_config: rule = self._plugin.build_rule(rule_config) if rule is not None: rules.append(rule) self.rules = rules customs_config = [conf for name, conf in config.iteritems() if name.startswith('custom_')] for custom_config in customs_config: entry = MonitoredEntry() entry.update_members_from_preferences(custom_config) self.custom_entries.append(entry) self.refresh_monitored_entries(entries) m_entries = set(self.displayed_entries + self.undisplayed_entries + self.hidden_entries + self.custom_entries) pref_disp = literal_eval(config['displayed']) pref_undisp = literal_eval(config['undisplayed']) pref_hidden = literal_eval(config['hidden']) disp = [e for e in m_entries if e.path in pref_disp] m_entries -= set(disp) undisp = [e for e in m_entries if e.path in pref_undisp] m_entries -= set(undisp) hidden = [e for e in m_entries if e.path in pref_hidden] m_entries -= set(hidden) if m_entries: e_l = [e.name for e in m_entries] mess = ('The following entries were not expected from the config :' ' {}. These entries has been added to the displayed ones.') information(parent=None, title='Unhandled entries', text=fill(mess.format(e_l))) disp += list(m_entries) self.displayed_entries = disp self.undisplayed_entries = undisp self.hidden_entries = hidden
def link_to_measure(self, measure): """Set the entries according to the state if one is present. """ super(TextMonitor, self).link_to_measure(measure) database = measure.root_task.database self.refresh_monitored_entries(database.list_all_entries(values=True)) if self._state: m_entries = set(self.displayed_entries + self.undisplayed_entries + self.hidden_entries + self.custom_entries) config = self._state del self._state pref_disp = literal_eval(config['displayed']) pref_undisp = literal_eval(config['undisplayed']) pref_hidden = literal_eval(config['hidden']) disp = [e for e in m_entries if e.path in pref_disp] m_entries -= set(disp) undisp = [e for e in m_entries if e.path in pref_undisp] m_entries -= set(undisp) hidden = [e for e in m_entries if e.path in pref_hidden] m_entries -= set(hidden) # TODO this should not assume the UI exists if m_entries: e_l = [e.name for e in m_entries] mess = ('The following entries were not expected from the ' 'config : {}. These entries has been added to the ' 'displayed ones.') information(parent=None, title='Unhandled entries', text=fill(mess.format(e_l))) disp += list(m_entries) self.displayed_entries = disp self.undisplayed_entries = undisp self.hidden_entries = hidden
def link_to_measurement(self, measurement): """Set the entries according to the state if one is present. """ super(TextMonitor, self).link_to_measurement(measurement) database = measurement.root_task.database self.refresh_monitored_entries(database.list_all_entries(values=True)) if self._state: m_entries = set(self.displayed_entries + self.undisplayed_entries + self.hidden_entries + self.custom_entries) config = self._state del self._state pref_disp = literal_eval(config['displayed']) pref_undisp = literal_eval(config['undisplayed']) pref_hidden = literal_eval(config['hidden']) disp = [e for e in m_entries if e.path in pref_disp] m_entries -= set(disp) undisp = [e for e in m_entries if e.path in pref_undisp] m_entries -= set(undisp) hidden = [e for e in m_entries if e.path in pref_hidden] m_entries -= set(hidden) # TODO this should not assume the UI exists if m_entries: e_l = [e.name for e in m_entries] mess = ('The following entries were not expected from the ' 'config : {}. These entries has been added to the ' 'displayed ones.') information(parent=None, title='Unhandled entries', text=fill(mess.format(e_l))) disp += list(m_entries) self.displayed_entries = disp self.undisplayed_entries = undisp self.hidden_entries = hidden