def format(self, article, destination, selector_codes=None): try: pub_seq_num = superdesk.get_resource_service('output_channels').generate_sequence_number(destination) nitfFormater = NITFFormatter() nitf = nitfFormater.get_nitf(article, destination, pub_seq_num) self._message_attrib.update(self._debug_message_extra) newsMessage = etree.Element('newsMessage', attrib=self._message_attrib) self._format_header(article, newsMessage, pub_seq_num) itemSet = self._format_item(newsMessage) if article['type'] == 'text' or article['type'] == 'preformatted': self._format_newsitem(article, itemSet, nitf) return pub_seq_num, self.XML_ROOT + etree.tostring(newsMessage).decode('utf-8') except Exception as ex: raise FormatterError.newmsmlG2FormatterError(ex, destination)
def format(self, article, subscriber): try: pub_seq_num = superdesk.get_resource_service('subscribers').generate_sequence_number(subscriber) is_package = self._is_package(article) self._message_attrib.update(self._debug_message_extra) newsMessage = etree.Element('newsMessage', attrib=self._message_attrib) self._format_header(article, newsMessage, pub_seq_num) itemSet = self._format_item(newsMessage) if is_package: item = self._format_item_set(article, itemSet, 'packageItem') self._format_groupset(article, item) elif article[ITEM_TYPE] == CONTENT_TYPE.PICTURE: item = self._format_item_set(article, itemSet, 'newsItem') self._format_contentset(article, item) else: nitfFormater = NITFFormatter() nitf = nitfFormater.get_nitf(article, subscriber, pub_seq_num) newsItem = self._format_item_set(article, itemSet, 'newsItem') self._format_content(article, newsItem, nitf) return [(pub_seq_num, self.XML_ROOT + etree.tostring(newsMessage).decode('utf-8'))] except Exception as ex: raise FormatterError.newmsmlG2FormatterError(ex, subscriber)