def _update_state_summary(self, my_state): """Display suite summary.""" glbl, states, fam_states = my_state['summary'] self.mode = glbl['run_mode'] if self.cfg.use_defn_order: nsdo = glbl['namespace definition order'] if self.ns_defn_order != nsdo: self.ns_defn_order = nsdo self.dict_ns_defn_order = dict(zip(nsdo, range(0, len(nsdo)))) self.update_time_str = time2str(glbl['last_updated']) self.global_summary = glbl if self.restricted_display: states = self.filter_for_restricted_display(states) self.full_state_summary = states self.full_fam_state_summary = fam_states self.refilter() self.status = glbl['status_string'] self.is_reloading = glbl['reloading'] gobject.idle_add( self.info_bar.set_state, self.global_summary.get("states", [])) gobject.idle_add(self.info_bar.set_mode, self.mode) gobject.idle_add(self.info_bar.set_update_time, self.update_time_str) gobject.idle_add(self.info_bar.set_status, self.status)
def set_stopped(self): """Reset data and clients when suite is stopped.""" if cylc.flags.debug: sys.stderr.write("%s NOT CONNECTED\n" % get_current_time_string()) self.full_mode = True self.connected = False self.set_status(SUITE_STATUS_STOPPED) self.update_interval += 1.0 if self.update_interval > self.max_update_interval: self.update_interval = self.max_update_interval self.state_summary = {} self.full_state_summary = {} self.fam_state_summary = {} self.full_fam_state_summary = {} self.all_families = {} self.global_summary = {} self.cfg.port = None self.client = None gobject.idle_add(self.app_window.set_title, str(self.cfg.suite)) # Use info bar to display stop summary if available. # Otherwise, just display the reconnect count down. if self.cfg.suite and self.stop_summary is None: stop_summary = get_stop_state_summary( cat_state(self.cfg.suite, self.cfg.host, self.cfg.owner)) if stop_summary != self.stop_summary: self.stop_summary = stop_summary self.status = SUITE_STATUS_STOPPED gobject.idle_add( self.info_bar.set_stop_summary, stop_summary) self.last_update_time = time() try: update_time_str = time2str(self.stop_summary[0]["last_updated"]) except (AttributeError, IndexError, KeyError, TypeError): update_time_str = None gobject.idle_add( self.info_bar.set_update_time, update_time_str, self.info_bar.DISCONNECTED_TEXT) gobject.idle_add(self.info_bar.prog_bar_stop)