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_xmlarticle_meta_general_info_issue_without_data_pipe(self): del (self._article_meta.data['issue']['issue']['v32']) pxml = ET.Element('records') pxml.append(ET.Element('record')) data = [self._article_meta, pxml] xmlarticle = export_doaj.XMLArticleMetaIssuePipe() raw, xml = xmlarticle.transform(data) self.assertIsNone(xml.find('./record/issue'))
def test_xmlarticle_meta_general_info_issue_pipe(self): pxml = ET.Element('records') pxml.append(ET.Element('record')) data = [self._article_meta, pxml] xmlarticle = export_doaj.XMLArticleMetaIssuePipe() raw, xml = xmlarticle.transform(data) startpage = xml.find('./record/issue').text self.assertEqual(u'4', startpage)
def test_xmlarticle_meta_general_info_issue_without_data_pipe(self): fakexylosearticle = Article({'article': {}, 'title': {}}) pxml = ET.Element('records') pxml.append(ET.Element('record')) data = [fakexylosearticle, pxml] xmlarticle = export_doaj.XMLArticleMetaIssuePipe() raw, xml = xmlarticle.transform(data) self.assertEqual(xml.find('./record/issue').text, '0')
def test_issue_element(self): _raw_json = { 'issue': { 'issue': { 'v32': [{ '_': '10' }] }, }, 'article': { 'v32': [{ '_': '10' }] }, } _article = Article(_raw_json) data = [_article, self._xml] _xml = export_doaj.XMLArticleMetaIssuePipe() raw, xml = _xml.transform(data) self.assertEqual(xml.findtext('.//record/issue'), '10')