コード例 #1
0
 def set_image_observer(self, observer, execution_name, filter_name_old,
                        filter_name_new):
     status = self.rpc.set_image_observer(execution_name, filter_name_old,
                                          filter_name_new)
     if status:
         new_key = keys.create_unique_exec_filter_name(
             execution_name, filter_name_new)
         old_key = keys.create_unique_exec_filter_name(
             execution_name, filter_name_old)
         des_observer = self.dct_link_obs_des_obs[observer]
         self.subscriber.desubscribe(old_key, des_observer)
         status = self.subscriber.subscribe(new_key, des_observer)
     return status
コード例 #2
0
ファイル: json_client.py プロジェクト: Octets/SeaGoatVision
 def set_image_observer(
         self, observer, execution_name, filter_name_old, filter_name_new):
     status = self.rpc.set_image_observer(
         execution_name, filter_name_old, filter_name_new)
     if status:
         new_key = keys.create_unique_exec_filter_name(
             execution_name, filter_name_new)
         old_key = keys.create_unique_exec_filter_name(
             execution_name, filter_name_old)
         des_observer = self.dct_link_obs_des_obs[observer]
         self.subscriber.desubscribe(old_key, des_observer)
         status = self.subscriber.subscribe(new_key, des_observer)
     return status
コード例 #3
0
ファイル: json_client.py プロジェクト: Octets/SeaGoatVision
 def remove_image_observer(self, observer, execution_name, filter_name):
     status = self.rpc.remove_image_observer(execution_name, filter_name)
     key = keys.create_unique_exec_filter_name(execution_name, filter_name)
     des_observer = self.dct_link_obs_des_obs[observer]
     self.subscriber.desubscribe(key, des_observer)
     del self.dct_link_obs_des_obs[observer]
     return status
コード例 #4
0
 def remove_image_observer(self, observer, execution_name, filter_name):
     status = self.rpc.remove_image_observer(execution_name, filter_name)
     key = keys.create_unique_exec_filter_name(execution_name, filter_name)
     des_observer = self.dct_link_obs_des_obs[observer]
     self.subscriber.desubscribe(key, des_observer)
     del self.dct_link_obs_des_obs[observer]
     return status
コード例 #5
0
 def remove_image_observer(self, execution_name, filter_name):
     key = keys.create_unique_exec_filter_name(execution_name, filter_name)
     observer = self.dct_observer.get(key, None)
     if observer is None:
         logger.warning("Missing image observer : %s" % key)
     return self.cmd_handler.remove_image_observer(observer, execution_name,
                                                   filter_name)
コード例 #6
0
 def set_image_observer(self, execution_name, filter_name_old,
                        filter_name_new):
     old_key = keys.create_unique_exec_filter_name(
         execution_name, filter_name_old)
     new_key = keys.create_unique_exec_filter_name(
         execution_name, filter_name_new)
     observer = self.dct_observer[old_key]
     new_observer = self._cb_send_image(new_key)
     if self.cmd_handler.set_image_observer(observer,
                                            execution_name,
                                            filter_name_old,
                                            filter_name_new,
                                            new_observer=new_observer):
         del self.dct_observer[old_key]
         self.dct_observer[new_key] = new_observer
         return True
     return False
コード例 #7
0
 def add_image_observer(self, execution_name, filter_name):
     key = keys.create_unique_exec_filter_name(execution_name, filter_name)
     observer = self._cb_send_image(key)
     if self.cmd_handler.add_image_observer(observer, execution_name,
                                            filter_name):
         if key not in self.dct_observer:
             self.dct_observer[key] = observer
         return True
     return False
コード例 #8
0
ファイル: filter.py プロジェクト: benoxoft/seagoatvision-1
 def set_publisher(self, publisher):
     self._publisher = publisher
     # create publisher key
     execution_name = self.execution_name
     filter_name = self.name
     key = keys.create_unique_exec_filter_name(execution_name, filter_name)
     self._publish_key = key
     self._publisher.register(key)
     # create callback publisher
     self._cb_publish = self._get_cb_publisher()
コード例 #9
0
ファイル: filter.py プロジェクト: Octets/SeaGoatVision
 def set_publisher(self, publisher):
     self._publisher = publisher
     # create publisher key
     execution_name = self.execution_name
     filter_name = self.name
     key = keys.create_unique_exec_filter_name(execution_name,
                                               filter_name)
     self._publish_key = key
     self._publisher.register(key)
     # create callback publisher
     self._cb_publish = self._get_cb_publisher()
コード例 #10
0
ファイル: json_client.py プロジェクト: Octets/SeaGoatVision
 def add_image_observer(self, observer, execution_name, filter_name):
     """
         Inform the server what filter we want to observe
         Param :
             - ref, observer is a reference on method for callback
             - string, execution_name to select an execution
             - string, filter_name to select the filter
     """
     status = self.rpc.add_image_observer(execution_name, filter_name)
     if status:
         key = keys.create_unique_exec_filter_name(
             execution_name, filter_name)
         des_observer = self._deserialize_image(observer)
         self.dct_link_obs_des_obs[observer] = des_observer
         status = self.subscriber.subscribe(key, des_observer)
     return status
コード例 #11
0
 def add_image_observer(self, observer, execution_name, filter_name):
     """
         Inform the server what filter we want to observe
         Param :
             - ref, observer is a reference on method for callback
             - string, execution_name to select an execution
             - string, filter_name to select the filter
     """
     status = self.rpc.add_image_observer(execution_name, filter_name)
     if status:
         key = keys.create_unique_exec_filter_name(execution_name,
                                                   filter_name)
         des_observer = self._deserialize_image(observer)
         self.dct_link_obs_des_obs[observer] = des_observer
         status = self.subscriber.subscribe(key, des_observer)
     return status
コード例 #12
0
ファイル: cmdHandler.py プロジェクト: Octets/SeaGoatVision
    def stop_filterchain_execution(self, execution_name):
        self._post_command_(locals())
        execution = self.dct_exec.get(execution_name, None)

        if not execution:
            log.print_function(
                logger.warning,
                "The execution %s is already stopped." % execution_name)
            return False

        # Remove execution image observer from media
        observer = execution.get(KEY_MEDIA, None)
        if observer is None:
            logger.critical(
                "Not found the observer about execution %s" % execution_name)
            return False
        filterchain = execution.get(KEY_FILTERCHAIN, None)
        if filterchain is None:
            logger.critical("Not found the filterchain about \
                execution %s" % execution_name)
            return False

        observer.remove_observer(filterchain.execute)

        # deregiste key
        # TODO move this in filter destroy
        for filter_name in filterchain.get_filter_name():
            key = keys.create_unique_exec_filter_name(execution_name,
                                                      filter_name)
            self.publisher.deregister(key)

        filterchain.destroy()
        del self.dct_exec[execution_name]
        # publish removing filterchain
        self.publisher.publish(
            keys.get_key_execution_list(), "-%s" %
            execution_name)

        return True