aboutsummaryrefslogtreecommitdiffstats
path: root/fuzzycat/verify.py
diff options
context:
space:
mode:
authorMartin Czygan <martin.czygan@gmail.com>2020-12-10 01:02:41 +0100
committerMartin Czygan <martin.czygan@gmail.com>2020-12-10 01:02:41 +0100
commit7ab933683f05a8de8ec416d520690d86b9a46a16 (patch)
tree8f8fb8b47ddd1cfb356ca72949e65a6394160ee4 /fuzzycat/verify.py
parent4a74839914527d191cc7610657c1c25e92a6e19e (diff)
downloadfuzzycat-7ab933683f05a8de8ec416d520690d86b9a46a16.tar.gz
fuzzycat-7ab933683f05a8de8ec416d520690d86b9a46a16.zip
add versioned doi pattern
Diffstat (limited to 'fuzzycat/verify.py')
-rw-r--r--fuzzycat/verify.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/fuzzycat/verify.py b/fuzzycat/verify.py
index bf59ed8..88e83d5 100644
--- a/fuzzycat/verify.py
+++ b/fuzzycat/verify.py
@@ -252,6 +252,17 @@ def compare(a, b):
except PathAccessError:
pass
+ try:
+ # https://fatcat.wiki/release/cwqujxztefdghhssb7ysxj7b5m
+ # https://fatcat.wiki/release/hwnqyz7n65eabhlivvkipkytji
+ a_doi = glom(a, "ext_ids.doi")
+ b_doi = glom(b, "ext_ids.doi")
+ versioned_doi_pattern = '10[.].*/v[0-9]{1,}$'
+ if re.match(versioned_doi_pattern, a_doi) and re.match(versioned_doi_pattern, b_doi):
+ return (Status.STRONG, OK.VERSIONED_DOI)
+ except PathAccessError:
+ pass
+
# TODO: datacite specific vocabulary
# extra.datacite.relations[].{relationType=IsNewerVersionOf,relatedIdentifier=10...}
# beware: we have versions and "isPartOf", e.g. https://api.fatcat.wiki/v0/release/ybxygpeypbaq5pfrztu3z2itw4
@@ -335,7 +346,7 @@ def compare(a, b):
pass
try:
- if glom(a, "extra.crossref.type") == "component" and glom(b, "extra.crossref.type"):
+ if glom(a, "release_type") == "component" and glom(b, "release_type") == "component":
a_doi = glom(a, "ext_ids.doi")
b_doi = glom(b, "ext_ids.doi")
if a_doi != b_doi: