Пример #1
0
    def refresh_monitor_group(self, data):
        def check_and_set_defaults(group_tracker):
            group_name = self.app_context.config.config[STARTING_GROUP_NAME]
            if group_name:
                group_tracker.set_current_group_by_name(group_name)
            monitor_name = self.app_context.config.config[
                STARTING_MONITOR_NAME]
            if monitor_name:
                group_tracker.set_current_monitor_by_name(monitor_name)

        if not self.first_group_load:
            new_tracker = ZmGroupTracker.create_from_json_api(data[0], data[1])
            if new_tracker:
                self.first_group_load = True
                check_and_set_defaults(new_tracker)
                self.app_context.group_tracker = new_tracker
                if new_tracker.current_monitor:
                    self.app_context.event_bus.publish_event(
                        app_events.INTERNAL_EVENT_SWITCH_TO_MONITOR_STREAM,
                        new_tracker.current_monitor)
        else:
            cur_group = self.app_context.group_tracker.current_group
            cur_monitor = self.app_context.group_tracker.current_monitor
            self.app_context.group_tracker.load_from_json_api(
                data[0], data[1], cur_group, cur_monitor)