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)
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)