Exemplo n.º 1
0
    def transmit(self, queue_item):
        subscriber = get_resource_service('subscribers').find_one(
            req=None, _id=queue_item['subscriber_id'])

        if not subscriber.get('is_active'):
            raise SubscriberError.subscriber_inactive_error(
                Exception('Subscriber inactive'), subscriber)
        else:
            try:
                # "formatted_item" is the item as str
                # "encoded_item" is the bytes version
                # if "encoded_item_id" exists we use it, else
                # we fill encoded_item using "formatted_item" and "item_encoding"
                if 'encoded_item_id' in queue_item:
                    encoded_item_id = queue_item['encoded_item_id']
                    queue_item['encoded_item'] = app.storage.get(
                        encoded_item_id).read()
                else:
                    encoding = queue_item.get('item_encoding', 'utf-8')
                    queue_item['encoded_item'] = queue_item[
                        'formatted_item'].encode(encoding, errors='replace')
                self._transmit(queue_item, subscriber) or []
                self.update_item_status(queue_item, 'success')
            except SuperdeskPublishError as error:
                self.update_item_status(queue_item, 'error', error)
                self.close_transmitter(subscriber, error)
                raise error
Exemplo n.º 2
0
    def transmit(self, queue_item):
        subscriber = get_resource_service("subscribers").find_one(
            req=None, _id=queue_item["subscriber_id"])

        if not subscriber.get("is_active"):
            raise SubscriberError.subscriber_inactive_error(
                Exception("Subscriber inactive"), subscriber)
        else:
            try:
                # "formatted_item" is the item as str
                # "encoded_item" is the bytes version
                # if "encoded_item_id" exists we use it, else
                # we fill encoded_item using "formatted_item" and "item_encoding"
                if "encoded_item_id" in queue_item:
                    encoded_item_id = queue_item["encoded_item_id"]
                    queue_item["encoded_item"] = app.storage.get(
                        encoded_item_id).read()
                else:
                    encoding = queue_item.get("item_encoding", "utf-8")
                    queue_item["encoded_item"] = queue_item[
                        "formatted_item"].encode(encoding, errors="replace")
                self._transmit(queue_item, subscriber) or []
                self.update_item_status(queue_item, "success")
            except SuperdeskPublishError as error:
                self.update_item_status(queue_item, "error", error)
                self.close_transmitter(subscriber, error)
                raise error
Exemplo n.º 3
0
 def transmit(self, queue_item, formatted_item, subscriber, destination):
     if not subscriber.get('is_active'):
         raise SubscriberError.subscriber_inactive_error(Exception('Subscriber inactive'), subscriber)
     else:
         try:
             self._transmit(formatted_item, subscriber, destination) or []
             update_item_status(queue_item, 'success')
         except SuperdeskPublishError as error:
             update_item_status(queue_item, 'error', error)
             raise error
Exemplo n.º 4
0
    def transmit(self, queue_item):
        subscriber = get_resource_service("subscribers").find_one(req=None, _id=queue_item["subscriber_id"])

        if not subscriber.get("is_active"):
            raise SubscriberError.subscriber_inactive_error(Exception("Subscriber inactive"), subscriber)
        else:
            try:
                self._transmit(queue_item, subscriber) or []
                update_item_status(queue_item, "success")
            except SuperdeskPublishError as error:
                update_item_status(queue_item, "error", error)
                self.close_transmitter(subscriber, error)
                raise error
Exemplo n.º 5
0
    def transmit(self, queue_item):
        subscriber = get_resource_service('subscribers').find_one(req=None, _id=queue_item['subscriber_id'])

        if not subscriber.get('is_active'):
            raise SubscriberError.subscriber_inactive_error(Exception('Subscriber inactive'), subscriber)
        else:
            try:
                self._transmit(queue_item, subscriber) or []
                update_item_status(queue_item, 'success')
            except SuperdeskPublishError as error:
                update_item_status(queue_item, 'error', error)
                self.close_transmitter(subscriber, error)
                raise error
    def transmit(self, queue_item):
        subscriber = get_resource_service('subscribers').find_one(
            req=None, _id=queue_item['subscriber_id'])

        if not subscriber.get('is_active'):
            raise SubscriberError.subscriber_inactive_error(
                Exception('Subscriber inactive'), subscriber)
        else:
            try:
                self._transmit(queue_item, subscriber) or []
                update_item_status(queue_item, 'success')
            except SuperdeskPublishError as error:
                update_item_status(queue_item, 'error', error)
                self.close_transmitter(subscriber, error)
                raise error
Exemplo n.º 7
0
    def transmit(self, queue_item):
        subscriber = get_resource_service("subscribers").find_one(req=None, _id=queue_item["subscriber_id"])

        if not subscriber.get("is_active"):
            raise SubscriberError.subscriber_inactive_error(Exception("Subscriber inactive"), subscriber)
        else:
            try:
                # "formatted_item" is the item as str
                # "encoded_item" is the bytes version
                # if "encoded_item_id" exists we use it, else
                # we fill encoded_item using "formatted_item" and "item_encoding"
                if "encoded_item_id" in queue_item:
                    encoded_item_id = queue_item["encoded_item_id"]
                    queue_item["encoded_item"] = app.storage.get(encoded_item_id).read()
                else:
                    encoding = queue_item.get("item_encoding", "utf-8")
                    queue_item["encoded_item"] = queue_item["formatted_item"].encode(encoding, errors="replace")
                self._transmit(queue_item, subscriber) or []
                self.update_item_status(queue_item, "success")
            except SuperdeskPublishError as error:
                self.update_item_status(queue_item, "error", error)
                self.close_transmitter(subscriber, error)
                raise error
Exemplo n.º 8
0
    def transmit(self, queue_item):
        subscriber = get_resource_service('subscribers').find_one(req=None, _id=queue_item['subscriber_id'])

        if not subscriber.get('is_active'):
            raise SubscriberError.subscriber_inactive_error(Exception('Subscriber inactive'), subscriber)
        else:
            try:
                # "formatted_item" is the item as str
                # "encoded_item" is the bytes version
                # if "encoded_item_id" exists we use it, else
                # we fill encoded_item using "formatted_item" and "item_encoding"
                if 'encoded_item_id' in queue_item:
                    encoded_item_id = queue_item['encoded_item_id']
                    queue_item['encoded_item'] = app.storage.get(encoded_item_id).read()
                else:
                    encoding = queue_item.get('item_encoding', 'utf-8')
                    queue_item['encoded_item'] = queue_item['formatted_item'].encode(encoding, errors='replace')
                self._transmit(queue_item, subscriber) or []
                self.update_item_status(queue_item, 'success')
            except SuperdeskPublishError as error:
                self.update_item_status(queue_item, 'error', error)
                self.close_transmitter(subscriber, error)
                raise error