diff --git a/1-enrich-with-datacite/z_personal_functions.py b/1-enrich-with-datacite/z_personal_functions.py index a0d8932139f682a1eedcc99570d424a760fc3363..91dd2a77ce5c79dfc8fe5058d98a5bc01ea488ce 100644 --- a/1-enrich-with-datacite/z_personal_functions.py +++ b/1-enrich-with-datacite/z_personal_functions.py @@ -1,5 +1,20 @@ import requests, json +def get_origin_version(doi): + req = requests.get( f"https://api.datacite.org/dois/{doi}" ) + res = req.json() + try: + origins = res["data"]["attributes"]["relatedIdentifiers"] + except: + return doi + else: + if origins == []: return doi + for i in origins: + if i["relationType"] != "IsVersionOf": + return doi + else: + return get_origin_version(i["relatedIdentifier"]) + def get_md_from_datacite( doi ) : """ retrieve data research metadata from datacite