def _retrieve_links(self, publications): if self.lamr is None: return pubs_by_uids = {} for pub in publications: for id in Identifier.find_by_type(pub.identifiers, 'WOK'): pubs_by_uids[id.value] = pub uids = pubs_by_uids.keys() result_by_uids = self.lamr.retrieve_by_ids(uids) for uid, result in result_by_uids.iteritems(): pub = pubs_by_uids[uid] if 'timesCited' in result: pub.times_cited = int(result['timesCited']) if 'sourceURL' in result: pub.source_urls.append( URL(result['sourceURL'], type='WOK', description=u'Web of Science®')) if 'citingArticlesURL' in result: pub.cite_urls.append( URL(result['citingArticlesURL'], type='WOK', description=u'Web of Science®')) if 'message' in result: pub.errors.append(u'Failed loading article URLs: ' + unicode(result['message']))
def search_citations(self, publications): for publication in publications: ut = list(Identifier.find_by_type(publication.identifiers, 'WOK')) if len(ut) == 0: continue ut = ut[0].value.lstrip(u'WOS:') for cite_url in URL.find_by_type(publication.cite_urls, 'WOK'): for pub in self._get_citations_from_url(cite_url.value, ut): yield pub
def search_citations(self, publications): """Vrati iterator vracajuci zoznam publikacii, ktore cituju publikacie v zozname publications """ for publication in publications: eid = list(Identifier.find_by_type(publication.identifiers, 'SCOPUS')) if len(eid) == 0: continue eid = eid[0].value for pub in self.search_citations_by_eid(eid): yield pub
def search_citations(self, publications): for publication in publications: eid = list( Identifier.find_by_type(publication.identifiers, 'SCOPUS')) if len(eid) == 0: continue eid = eid[0].value detail_url = list( URL.find_by_type(publication.source_urls, 'SCOPUS')) if len(detail_url) == 0: continue detail_url = detail_url[0].value for pub in self._get_citations_from_detail_url(detail_url, eid): yield pub
def assign_indexes(self, publications): pub_by_id = {} for pub in publications: e = list(Index.find_by_type(pub.indexes, 'WOS')) if len(e) > 0: continue ut = list(Identifier.find_by_type(pub.identifiers, 'WOK')) if len(ut) == 0: continue ut = ut[0].value pub_by_id[ut] = pub editions = self._find_editions(pub_by_id.keys()) for ut, edition in editions.iteritems(): pub_by_id[ut].indexes.append(Index(edition, type='WOS'))