scieloorg / articles_meta

Webservices para recuperar metadados de artigos SciELO armazenados no MongoDB
BSD 2-Clause "Simplified" License
7 stars 17 forks source link

Preenche o campo resource com o link para a versão do pdf correspondente #235

Closed robertatakenaka closed 2 years ago

robertatakenaka commented 2 years ago

O que esse PR faz?

Remove a dependência da existência do dado document["fulltexts"]["pdfs"] gerado a partir do processamento load_languages

No lugar do path dos pdfs, coloca o link da página do pdf: http://www.scielo.br?script=sci_arttext&pid=<pid>&tlng=<lang>

Onde a revisão poderia começar?

por commits

Como este poderia ser testado manualmente?

Execute no ipython

import requests
doc = requests.get(
    "https://articlemeta.scielo.org/api/v1/article/?collection=scl&code=S0034-75902021000300300"
)

import json
data = json.loads(doc.text)

from articlemeta import export_crossref
from articlemeta.export import CustomArticle

xylose_article = CustomArticle(data)

import plumber
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.XMLElocationPipe(),
            export_crossref.XMLPermissionsPipe(),
            export_crossref.XMLProgramRelatedItemPipe(),
            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)
x = next(transformed_data)
with open("artigomultilingue.xml", "wb") as fp:
    fp.write(x)

Algum cenário de contexto que queira dar?

N/A

Screenshots

N/A

Quais são tickets relevantes?

https://github.com/scieloorg/doi_request/issues/28

Referências

N/A