def __new__(cls): # Singleton if not cls._instance: # first instance cls.config = Configuration() cls.dct_filter = {} cls.dct_media = {} # {"filter_name" : class_filter} cls.dct_filterchain = {} cls.dct_filter = {} # initialize subscriber server publisher = Publisher(5031) cls.publisher = publisher # self.resource.set_all_publisher(publisher) publisher.start() publisher.register(keys.get_key_execution_list()) publisher.register(keys.get_key_filter_param()) publisher.register(keys.get_key_media_param()) publisher.register(keys.get_key_lst_rec_historic()) publisher.register(keys.get_key_count()) # instance class cls._instance = super(Resource, cls).__new__(cls) return cls._instance
def __init__(self, controller, subscriber): super(WinDebugKeyz, self).__init__() self.ui = None self.controller = controller self.subscriber = subscriber self.shared_info = SharedInfo() self.reload_ui() subscriber.subscribe(keys.get_key_count(), self.update_record_table)
def close(self): logger.info("Close cmdHandler and close server.") for media_name in self.resource.get_media_name_list(): media = self.resource.get_media(media_name) media.close() media.destroy() self.server_observer.stop() self.publisher.stop() self.publisher.deregister(keys.get_key_execution_list()) self.publisher.deregister(keys.get_key_filter_param()) self.publisher.deregister(keys.get_key_media_param()) self.publisher.deregister(keys.get_key_lst_rec_historic()) self.publisher.deregister(keys.get_key_count())
def subscribe(self, key): self.count_keys[key] += 1 self.publisher.publish(keys.get_key_count(), self.count_keys) return self.publisher.subscribe(key)