def _resolve_pmid(self, pmid): """Follow PMID link, store HTML, and return final URL.""" # Get DOI from PubMed API pub_data = pubtools.download_pmids([pmid])[0] doi = pubtools.record_to_doi(pub_data) if doi: return self._resolve_doi(doi) pub_link = pubtools.pmid_to_publisher_link(pmid) # Follow publisher link if pub_link: # Browse to link self.browser.open(pub_link) # Read documents and save in ScrapeInfo self.info.init_html, self.info.init_qhtml = self.browser.get_docs() # Return URL return self.browser.geturl()
def test_pmid_to_publisher_link(pmid, publisher_link): """ Should find known publisher links by PMID. """ publisher_link = pubtools.pmid_to_publisher_link(pmid) assert_equal(publisher_link, publisher_link)