def pipeline_doaj(self): xylose_article = Article(self._article, iso_format='iso 639-2') ppl = plumber.Pipeline(export_doaj.SetupArticlePipe(), export_doaj.XMLArticlePipe(), export_doaj.XMLJournalMetaPublisherPipe(), export_doaj.XMLJournalMetaJournalTitlePipe(), export_doaj.XMLJournalMetaISSNPipe(), export_doaj.XMLArticleMetaPublicationDatePipe(), export_doaj.XMLArticleMetaVolumePipe(), export_doaj.XMLArticleMetaIssuePipe(), export_doaj.XMLArticleMetaStartPagePipe(), export_doaj.XMLArticleMetaEndPagePipe(), export_doaj.XMLArticleMetaArticleIdDOIPipe(), export_doaj.XMLArticleMetaIdPipe(), export_doaj.XMLArticleMetaDocumentTypePipe(), export_doaj.XMLArticleMetaTitlePipe(), export_doaj.XMLArticleMetaAuthorsPipe(), export_doaj.XMLArticleMetaAffiliationPipe(), export_doaj.XMLArticleMetaAbstractsPipe(), export_doaj.XMLArticleMetaFullTextUrlPipe(), export_doaj.XMLArticleMetaKeywordsPipe(), export_doaj.XMLClosePipe()) transformed_data = ppl.run(xylose_article, rewrap=True) return next(transformed_data)
def test_xml_article_meta_article_id_doi_pipe(self): pxml = ET.Element('records') pxml.append(ET.Element('record')) data = [self._article_meta, pxml] xmlarticle = export_doaj.XMLArticleMetaArticleIdDOIPipe() raw, xml = xmlarticle.transform(data) articleidpublisher = xml.find('./record/doi').text self.assertEqual(u'10.1590/S0034-89102010000400007', articleidpublisher)
def test_xml_article_meta_article_id_doi_without_data_pipe(self): fakexylosearticle = Article({'article': {}, 'title': {}}) pxml = ET.Element('records') pxml.append(ET.Element('record')) data = [fakexylosearticle, pxml] xmlarticle = export_doaj.XMLArticleMetaArticleIdDOIPipe() raw, xml = xmlarticle.transform(data) # This try except is a trick to test the expected result of the # piped XML, once the precond method don't raise an exception # we try to check if the preconditioned pipe was called or not. try: xml.find('./record/title').text except AttributeError: self.assertTrue(True) else: self.assertTrue(False)