def test_xmlarticle_meta_keywords_pipe(self):

        pxml = ET.Element('article')
        pxml.append(ET.Element('front'))

        front = pxml.find('front')
        front.append(ET.Element('article-meta'))

        data = [self._article_meta, pxml]

        xmlarticle = export_rsps.XMLArticleMetaKeywordsPipe()
        raw, xml = xmlarticle.transform(data)

        keywords = sorted(
            [i.text.encode('utf-8') for i in xml.findall('.//kwd')])

        self.assertEqual(
            sorted([
                i.encode('utf-8') for i in [
                    u'Insuficiencia Renal Crónica',
                    u'Terapia de Reemplazo Renal',
                    u'Sistemas de Información en Hospital',
                    u'Registros de Mortalidad', u'Insuficiência Renal Crônica',
                    u'Terapia de Substituição Renal',
                    u'Sistemas de Informação Hospitalar',
                    u'Registros de Mortalidade'
                ]
            ]), keywords)
    def test_xmlarticle_meta_keywords_without_data_pipe(self):

        fakexylosearticle = Article({
            'article': {
                'v40': [{
                    '_': 'pt'
                }]
            },
            'title': {}
        })

        pxml = ET.Element('article')
        pxml.append(ET.Element('front'))

        front = pxml.find('front')
        front.append(ET.Element('article-meta'))

        data = [fakexylosearticle, pxml]

        xmlarticle = export_rsps.XMLArticleMetaKeywordsPipe()
        raw, xml = xmlarticle.transform(data)

        keywords_language = xml.find('./front/article-meta/kwd-group')

        self.assertEqual(None, keywords_language)
Esempio n. 3
0
    def pipeline_rsps(self):
        xylose_article = Article(self._article)

        ppl = plumber.Pipeline(
            export_rsps.SetupArticlePipe(), export_rsps.XMLArticlePipe(),
            export_rsps.XMLFrontPipe(),
            export_rsps.XMLJournalMetaJournalIdPipe(),
            export_rsps.XMLJournalMetaJournalTitleGroupPipe(),
            export_rsps.XMLJournalMetaISSNPipe(),
            export_rsps.XMLJournalMetaPublisherPipe(),
            export_rsps.XMLArticleMetaArticleIdPublisherPipe(),
            export_rsps.XMLArticleMetaArticleIdDOIPipe(),
            export_rsps.XMLArticleMetaArticleCategoriesPipe(),
            export_rsps.XMLArticleMetaTitleGroupPipe(),
            export_rsps.XMLArticleMetaTranslatedTitleGroupPipe(),
            export_rsps.XMLArticleMetaContribGroupPipe(),
            export_rsps.XMLArticleMetaAffiliationPipe(),
            export_rsps.XMLArticleMetaDatesInfoPipe(),
            export_rsps.XMLArticleMetaIssueInfoPipe(),
            export_rsps.XMLArticleMetaElocationInfoPipe(),
            export_rsps.XMLArticleMetaPagesInfoPipe(),
            export_rsps.XMLArticleMetaHistoryPipe(),
            export_rsps.XMLArticleMetaPermissionPipe(),
            export_rsps.XMLArticleMetaSelfUriPipe(),
            export_rsps.XMLArticleMetaAbstractsPipe(),
            export_rsps.XMLArticleMetaKeywordsPipe(),
            export_rsps.XMLArticleMetaCountsPipe(), export_rsps.XMLBodyPipe(),
            export_rsps.XMLArticleMetaCitationsPipe(),
            export_rsps.XMLSubArticlePipe(), export_rsps.XMLClosePipe())

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

        return next(transformed_data)
    def test_xmlarticle_meta_keywords_languages_data_pipe(self):

        pxml = ET.Element('article')
        pxml.append(ET.Element('front'))

        front = pxml.find('front')
        front.append(ET.Element('article-meta'))

        data = [self._article_meta, pxml]

        xmlarticle = export_rsps.XMLArticleMetaKeywordsPipe()
        raw, xml = xmlarticle.transform(data)

        keywords_language = sorted([i.get('{http://www.w3.org/XML/1998/namespace}lang') for i in xml.findall('./front/article-meta/kwd-group')])

        self.assertEqual(sorted([u'es', u'pt']), keywords_language)
    def test_xml_citations_without_data_pipe(self):

        fakexylosearticle = Article({'article': {}, 'title': {}, 'citatons': {}})

        pxml = ET.Element('article')
        pxml.append(ET.Element('back'))

        back = pxml.find('back')
        back.append(ET.Element('ref-list'))

        data = [fakexylosearticle, pxml]

        xmlarticle = export_rsps.XMLArticleMetaKeywordsPipe()
        raw, xml = xmlarticle.transform(data)

        citations = xml.find('./article/back/ref-list/ref')

        self.assertEqual(None, citations)