Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
 def stop_record(self, media_name):
     self._post_command_(locals())
     media = self._get_media(media_name=media_name)
     if not media:
         return False
     if media.is_media_video():
         log.print_function(
             logger.error,
             "Cannot stop record to a media media %s." %
             media_name)
         return False
     status = media.stop_record()
     if status:
         # {"time": ..., "media_name": ..., "path": ...}
         record_status = {
             "time": time.time(),
             "media_name": media_name,
             "path": media.get_path_record(),
         }
         self.lst_record_historic.append(record_status)
         self.publisher.publish(keys.get_key_lst_rec_historic(),
                                record_status)
     else:
         log.print_function(logger.error,
                            "Error to stop the record %s." % media_name)
     return status
Esempio n. 4
0
 def add_lst_record_historic(self, media_name, path):
     # {"time": ..., "media_name": ..., "path": ...}
     record_status = {
         "time": time.time(),
         "media_name": media_name,
         "path": path,
     }
     self.lst_record_historic.append(record_status)
     self.publisher.publish(keys.get_key_lst_rec_historic(), record_status)
Esempio n. 5
0
 def __init__(self, controller, subscriber):
     super(WinRecHistoric, self).__init__()
     self.ui = None
     self.resource_icon_path = "SeaGoatVision/client/resource/img/"
     self.controller = controller
     self.subscriber = subscriber
     self.shared_info = SharedInfo()
     self.lst_old_record_historic = []
     self.reload_ui()
     self.subscriber.subscribe(keys.get_key_lst_rec_historic(),
                               self.update_record_table)
Esempio n. 6
0
    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())