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 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 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 doi_resolver(self): if not self.doi: return None if oa_local.is_open_via_datacite_prefix(self.doi): return "datacite" if self.crossref_api_modified and not "error" in self.crossref_api_modified: return "crossref" return None
def doi_resolver(self): if not self.doi: return None if oa_local.is_open_via_datacite_prefix(self.doi): return "datacite" return "crossref"