コード例 #1
0
ファイル: wok.py プロジェクト: 3660628/citacie
 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']))
コード例 #2
0
ファイル: wok.py プロジェクト: 3660628/citacie
 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
コード例 #3
0
ファイル: scopusapi.py プロジェクト: 3660628/citacie
    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
コード例 #4
0
ファイル: scopus.py プロジェクト: 3660628/citacie
 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
コード例 #5
0
ファイル: wok.py プロジェクト: 3660628/citacie
    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'))