aboutsummaryrefslogtreecommitdiff
path: root/uploader/publications/misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'uploader/publications/misc.py')
-rw-r--r--uploader/publications/misc.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/uploader/publications/misc.py b/uploader/publications/misc.py
index d93ecdd..fca6f71 100644
--- a/uploader/publications/misc.py
+++ b/uploader/publications/misc.py
@@ -4,7 +4,22 @@
def publications_differences(
filedata: tuple[dict, ...],
dbdata: tuple[dict, ...],
- pubmedid2pubidmap: dict[str, int]
+ pubmedid2pubidmap: tuple[dict, ...]
) -> tuple[dict, ...]:
"""Compute the differences between file data and db data"""
- return tuple()
+ diff = tuple()
+ for filerow, dbrow in zip(
+ sorted(filedata, key=lambda item: (
+ item["phenotype_id"], item["xref_id"])),
+ sorted(dbdata, key=lambda item: (
+ item["PhenotypeId"], item["xref_id"]))):
+ if filerow["PubMed_ID"] == dbrow["PubMed_ID"]:
+ continue
+
+ newpubmed = filerow["PubMed_ID"]
+ diff = diff + ({
+ **dbrow,
+ "PubMed_ID": newpubmed,
+ "PublicationId": pubmedid2pubidmap.get(newpubmed)},)
+
+ return diff