def pipeline_crossref(self): xylose_article = CustomArticle(self._article) ppl = plumber.Pipeline( export_crossref.SetupDoiBatchPipe(), export_crossref.XMLHeadPipe(), export_crossref.XMLBodyPipe(), export_crossref.XMLDoiBatchIDPipe(), export_crossref.XMLTimeStampPipe(), export_crossref.XMLDepositorPipe(), export_crossref.XMLRegistrantPipe(), export_crossref.XMLJournalPipe(), export_crossref.XMLJournalMetadataPipe(), export_crossref.XMLJournalTitlePipe(), export_crossref.XMLAbbreviatedJournalTitlePipe(), export_crossref.XMLISSNPipe(), export_crossref.XMLJournalIssuePipe(), export_crossref.XMLPubDatePipe(), export_crossref.XMLVolumePipe(), export_crossref.XMLIssuePipe(), export_crossref.XMLJournalArticlePipe(), export_crossref.XMLArticleTitlesPipe(), export_crossref.XMLArticleTitlePipe(), export_crossref.XMLArticleContributorsPipe(), export_crossref.XMLArticleAbstractPipe(), export_crossref.XMLArticlePubDatePipe(), export_crossref.XMLPagesPipe(), export_crossref.XMLPIDPipe(), export_crossref.XMLPermissionsPipe(), export_crossref.XMLElocationPipe(), export_crossref.XMLDOIDataPipe(), export_crossref.XMLDOIPipe(), export_crossref.XMLResourcePipe(), export_crossref.XMLCollectionPipe(), export_crossref.XMLArticleCitationsPipe(), export_crossref.XMLClosePipe()) transformed_data = ppl.run(xylose_article, rewrap=True) return next(transformed_data)
def test_article_pid_element(self): xmlcrossref = ET.Element('doi_batch') journal_article = ET.Element('journal_article') journal_article.set('publication_type', 'full_text') journal = ET.Element('journal') journal.append(journal_article) body = ET.Element('body') body.append(journal) xmlcrossref.append(body) data = [self._article_meta, xmlcrossref] xmlcrossref = export_crossref.XMLPIDPipe() raw, xml = xmlcrossref.transform(data) self.assertEqual( b'<doi_batch><body><journal><journal_article publication_type="full_text"><publisher_item><identifier id_type="pii">S0034-89102010000400007</identifier></publisher_item></journal_article></journal></body></doi_batch>', ET.tostring(xml))