def set_local_lookup_oa(self): start_time = time() evidence = None fulltext_url = self.url license = "unknown" if oa_local.is_open_via_doaj_issn(self.issns): license = oa_local.is_open_via_doaj_issn(self.issns) evidence = "oa journal (via issn in doaj)" elif oa_local.is_open_via_doaj_journal(self.journal): license = oa_local.is_open_via_doaj_journal(self.journal) evidence = "oa journal (via journal title in doaj)" elif oa_local.is_open_via_datacite_prefix(self.doi): evidence = "oa repository (via datacite prefix)" elif oa_local.is_open_via_doi_fragment(self.doi): evidence = "oa repository (via doi prefix)" elif oa_local.is_open_via_url_fragment(self.url): evidence = "oa repository (via url prefix)" elif oa_local.is_open_via_license_urls(self.crossref_license_urls): freetext_license = oa_local.is_open_via_license_urls(self.crossref_license_urls) license = oa_local.find_normalized_license(freetext_license) evidence = "hybrid journal (via crossref license url)" # oa_color depends on this including the word "hybrid" if evidence: self.fulltext_url = fulltext_url self.evidence = evidence self.license = license if self.fulltext_url and self.license and self.license != "unknown": self.response_done = True
def ask_local_lookup(self): start_time = time() evidence = None fulltext_url = self.url license = "unknown" if oa_local.is_open_via_doaj_issn(self.issns): license = oa_local.is_open_via_doaj_issn(self.issns) evidence = "oa journal (via issn in doaj)" elif oa_local.is_open_via_doaj_journal(self.journal): license = oa_local.is_open_via_doaj_journal(self.journal) evidence = "oa journal (via journal title in doaj)" elif oa_local.is_open_via_datacite_prefix(self.doi): evidence = "oa repository (via datacite prefix)" elif oa_local.is_open_via_doi_fragment(self.doi): evidence = "oa repository (via doi prefix)" elif oa_local.is_open_via_url_fragment(self.url): evidence = "oa repository (via url prefix)" elif oa_local.is_open_via_license_urls(self.crossref_license_urls): freetext_license = oa_local.is_open_via_license_urls(self.crossref_license_urls) license = oa_local.find_normalized_license(freetext_license) evidence = "hybrid journal (via crossref license url)" # oa_color depends on this including the word "hybrid" if evidence: my_version = OpenVersion() my_version.metadata_url = fulltext_url my_version.license = license my_version.source = evidence my_version.doi = self.doi self.open_versions.append(my_version)
def is_subscription_journal(self): if oa_local.is_open_via_doaj_issn(self.issns) \ or oa_local.is_open_via_doaj_journal(self.journal) \ or oa_local.is_open_via_datacite_prefix(self.doi) \ or oa_local.is_open_via_doi_fragment(self.doi) \ or oa_local.is_open_via_url_fragment(self.url): return False return True
def is_subscription_journal(self): if oa_local.is_open_via_doaj_issn(self.issns, self.year) \ or oa_local.is_open_via_doaj_journal(self.all_journals, self.year) \ or oa_local.is_open_via_doi_fragment(self.doi) \ or oa_local.is_open_via_publisher(self.publisher) \ or oa_local.is_open_via_url_fragment(self.url): return False return True
def ask_local_lookup(self): start_time = time() evidence = None fulltext_url = self.url license = None if oa_local.is_open_via_doaj_issn(self.issns, self.year): license = oa_local.is_open_via_doaj_issn(self.issns, self.year) evidence = "oa journal (via issn in doaj)" elif not self.issns and oa_local.is_open_via_doaj_journal( self.all_journals, self.year): license = oa_local.is_open_via_doaj_journal( self.all_journals, self.year) evidence = "oa journal (via journal title in doaj)" elif oa_local.is_open_via_publisher(self.publisher): evidence = "oa journal (via publisher name)" elif oa_local.is_open_via_doi_fragment(self.doi): evidence = "oa repository (via doi prefix)" elif oa_local.is_open_via_url_fragment(self.url): evidence = "oa repository (via url prefix)" elif oa_local.is_open_via_license_urls(self.crossref_license_urls): freetext_license = oa_local.is_open_via_license_urls( self.crossref_license_urls) license = oa_local.find_normalized_license(freetext_license) # logger.info(u"freetext_license: {} {}".format(freetext_license, license)) evidence = "open (via crossref license)" # oa_color depends on this including the word "hybrid" if evidence: my_location = OpenLocation() my_location.metadata_url = fulltext_url my_location.license = license my_location.evidence = evidence my_location.updated = datetime.datetime.utcnow() my_location.doi = self.doi my_location.version = "publishedVersion" self.open_locations.append(my_location)