Skip to content

Commit c04591f

Browse files
authored
Author curations (#2033)
1 parent 40925d6 commit c04591f

4 files changed

Lines changed: 185 additions & 56 deletions

File tree

src/bioregistry/curation/cleanup_authors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def cleanup_authors(manager: Manager) -> None:
3131
names[orcid].add(author.name)
3232
if author.github:
3333
githubs[orcid] = author.github
34-
if author.email:
34+
if author.email and orcid not in emails:
3535
# TODO lowercase?
3636
emails[orcid] = author.email
3737

src/bioregistry/curation/suggest_author_curation.py

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""Suggest curation of authors missing orcid/github."""
1+
"""Suggest curation of authors missing ORCiD/GitHub."""
22

33
from collections import defaultdict
44

@@ -38,11 +38,47 @@
3838
"whocc@fhi.no",
3939
"info@casrai.org",
4040
"ppdb@gifu-u.ac.jp",
41+
"admin@admin.com",
42+
"contact-terminologietal@inist.fr",
43+
"register@clinicaltrials.gov",
44+
"esip-semanticweb@lists.esipfed.org",
45+
"mssohelp@meddra.org",
46+
"ncithesaurus@mail.nih.gov",
47+
"custserv@nlm.nih.gov",
48+
"OP-EU-VOCABULARIES@publications.europa.eu",
49+
"public-schemaorg@w3.org",
50+
}
51+
52+
BAD_NAMES = {
53+
"WHO Collaborating Centre for Drug Statistics Methodology",
54+
"admin",
55+
"American Medical Association",
56+
"Biodiversity Thesaurus contact",
57+
"ClinicalTrials.gov Helpdesk",
58+
"UK Food Standard Agency",
59+
"Publications Office of the European Union",
60+
"World Health Organization",
61+
"the W3C Schema.org Community Group",
62+
"The World Health Organization",
63+
"NCI Thesaurus Mailbox",
64+
"RxNorm Customer Service",
65+
"UNESCO",
66+
"MedDRA MSSO",
67+
"IIS Helpdesk",
68+
"ICD Helpdesk",
69+
"ESIP Semantic Team",
70+
"Eionet Helpdesk",
71+
"NLM Customer Service",
72+
"NIH Reporter Helpdesk",
73+
}
74+
75+
COULD_NOT_FIND_GITHUB = {
76+
"0000-0002-8527-5614",
4177
}
4278

4379

4480
def _main() -> None:
45-
rows = defaultdict(set)
81+
curatable_people_rows = defaultdict(set)
4682
for resource in bioregistry.resources():
4783
if resource.is_deprecated():
4884
continue
@@ -56,7 +92,12 @@ def _main() -> None:
5692
contact.name = contact.name.removesuffix("MD").strip()
5793
if contact.orcid and contact.email and contact.github:
5894
continue
59-
rows[
95+
if contact.orcid and contact.orcid in COULD_NOT_FIND_GITHUB:
96+
continue
97+
if contact.name in BAD_NAMES:
98+
continue # TODO add curation table for this too
99+
100+
curatable_people_rows[
60101
contact.name or "", contact.orcid or "", contact.email or "", contact.github or ""
61102
].add(resource.prefix)
62103

@@ -65,7 +106,7 @@ def _main() -> None:
65106
[
66107
(name, orcid, email, github, ", ".join(sorted(prefixes)))
67108
for (name, orcid, email, github), prefixes in sorted(
68-
rows.items(), key=lambda t: (t[0][0].casefold(), t[0][0])
109+
curatable_people_rows.items(), key=lambda t: (t[0][0].casefold(), t[0][0])
69110
)
70111
],
71112
tablefmt="github",

0 commit comments

Comments
 (0)