aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/metadata_edits.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/wqflask/wqflask/metadata_edits.py b/wqflask/wqflask/metadata_edits.py
index fdcb6597..43651525 100644
--- a/wqflask/wqflask/metadata_edits.py
+++ b/wqflask/wqflask/metadata_edits.py
@@ -9,7 +9,7 @@ from functools import reduce
from collections import namedtuple
from itertools import groupby
-from typing import Dict
+from typing import Dict, Optional
import difflib
import redis
@@ -292,9 +292,18 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
)
}
)
+ def __parse_int__(val) -> Optional[int]:
+ """Safe parser for integers"""
+ try:
+ return int(val, base=10)
+ except ValueError as _verr:
+ return None
+ except TypeError as _terr:
+ # trying to convert None
+ return None
publication_ = {
key: val for key, val in {
- "pubmed_id": data_.get("pubmed-id"),
+ "pubmed_id": __parse_int__(data_.get("pubmed-id")),
"abstract": data_.get("abstract"),
"authors": data_.get("authors"),
"title": data_.get("title"),