APA-URAAS / scripts /fix_rors.py
Lordkiki's picture
Deploy URAAS — African Research Archival & Analytics System
74bf532 verified
Raw
History Blame Contribute Delete
854 Bytes
import glob
import json
import os
import urllib.parse
import urllib.request
files = glob.glob("config/institutions/*.json")
for fpath in files:
with open(fpath, "r", encoding="utf-8") as f:
data = json.load(f)
name = data.get("name")
if not name:
continue
url = f"https://api.openalex.org/institutions?search={urllib.parse.quote(name)}&per-page=1"
try:
res = json.loads(urllib.request.urlopen(url).read().decode())["results"][0]
correct_ror = res.get("ror")
if correct_ror and correct_ror != data.get("ror"):
print(f"Updating {name}: {data.get('ror')} -> {correct_ror}")
data["ror"] = correct_ror
with open(fpath, "w", encoding="utf-8") as f:
json.dump(data, f, indent=2)
except Exception as e:
print(f"Error for {name}: {e}")