Exemple #1
0
    def pipeline_pubmed(self):
        xylose_article = Article(self._article, iso_format='iso 639-2')

        ppl = plumber.Pipeline(export_pubmed.SetupArticleSetPipe(),
                               export_pubmed.XMLArticlePipe(),
                               export_pubmed.XMLJournalPipe(),
                               export_pubmed.XMLPublisherNamePipe(),
                               export_pubmed.XMLJournalTitlePipe(),
                               export_pubmed.XMLISSNPipe(),
                               export_pubmed.XMLVolumePipe(),
                               export_pubmed.XMLIssuePipe(),
                               export_pubmed.XMLPubDatePipe(),
                               export_pubmed.XMLReplacesPipe(),
                               export_pubmed.XMLArticleTitlePipe(),
                               export_pubmed.XMLFirstPagePipe(),
                               export_pubmed.XMLLastPagePipe(),
                               export_pubmed.XMLElocationIDPipe(),
                               export_pubmed.XMLLanguagePipe(),
                               export_pubmed.XMLAuthorListPipe(),
                               export_pubmed.XMLPublicationTypePipe(),
                               export_pubmed.XMLArticleIDListPipe(),
                               export_pubmed.XMLHistoryPipe(),
                               export_pubmed.XMLAbstractPipe(),
                               export_pubmed.XMLClosePipe())

        transformed_data = ppl.run(xylose_article, rewrap=True)

        return next(transformed_data)
Exemple #2
0
    def test_xmlauthorlist_pipe(self):

        pxml = ET.Element('ArticleSet')
        pxml.append(ET.Element('Article'))

        data = [self._article_meta, pxml]

        xmlarticle = export_pubmed.XMLAuthorListPipe()
        raw, xml = xmlarticle.transform(data)

        firstnames = [
            f.find('FirstName').text
            for f in xml.findall('./Article/AuthorList/Author')
        ]
        lastnames = [
            l.find('LastName').text
            for l in xml.findall('./Article/AuthorList/Author')
        ]

        self.assertEqual([
            u'Mariangela Leal', u'Elaine Leandro', u'Daniele Araújo Campo',
            u'Eli Iola Gurgel', u'Francisco de Assis', u'Waleska Teixeira',
            u'Ricardo', u'Augusto A', u'Odilon Vanni de', u'Isabel Cristina'
        ], firstnames)

        self.assertEqual([
            u'Cherchiglia', u'Machado', u'Szuster', u'Andrade', u'Acúrcio',
            u'Caiaffa', u'Sesso', u'Guerra Junior', u'Queiroz', u'Gomes'
        ], lastnames)