Example #1
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_xml_article_meta_counts_pages_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.XMLArticleMetaCountsPipe()
        raw, xml = xmlarticle.transform(data)

        count = xml.find('./front/article-meta/counts/page-count').get('count')

        self.assertEqual(11, int(count))
    def test_xml_article_meta_counts_pages_invalid_pages_first_gt_last_pipe(self):
        pxml = ET.Element('article')
        pxml.append(ET.Element('front'))

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

        self._article_meta.data['article']['v14'][0]['l'] = '100'
        self._article_meta.data['article']['v14'][0]['f'] = '110'

        data = [self._article_meta, pxml]

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

        count = xml.find('./front/article-meta/counts/page-count').get('count')

        self.assertEqual(0, int(count))