def __init__(self, app): super(Updater, self).__init__() self.quit = False self.app_window = app.window self.cfg = app.cfg self.info_bar = app.info_bar self._summary_update_time = None self.err_log_lines = [] self._err_num_log_lines = 10 self.err_log_size = 0 self.task_list = [] self.state_summary = {} self.full_state_summary = {} self.fam_state_summary = {} self.full_fam_state_summary = {} self.all_families = {} self.triggering_families = {} self.global_summary = {} self.daemon_version = None self.stop_summary = None self.ancestors = {} self.ancestors_pruned = {} self.descendants = {} self.mode = "waiting..." self.update_time_str = "waiting..." self.status = SUITE_STATUS_NOT_CONNECTED self.is_reloading = False self.connected = False self._no_update_event = threading.Event() self.connect_schd = ConnectSchd() self.last_update_time = time() self.ns_defn_order = [] self.dict_ns_defn_order = {} self.restricted_display = app.restricted_display self.filter_name_string = '' self.filter_states_excl = [] self.kept_task_ids = set() self.filt_task_ids = set() self.connect_fail_warned = False self.version_mismatch_warned = False client_args = (self.cfg.suite, self.cfg.owner, self.cfg.host, self.cfg.pyro_timeout, self.cfg.port, self.cfg.db, self.cfg.my_uuid) self.state_summary_client = StateSummaryClient(*client_args) self.suite_info_client = SuiteInfoClient(*client_args) self.suite_log_client = SuiteLogClient(*client_args) self.suite_command_client = SuiteCommandClient(*client_args) # Report sign-out on exit. atexit.register(self.state_summary_client.signout)