From 6759f25ab43af32458ebc3c77e5511eea22cb7c8 Mon Sep 17 00:00:00 2001
From: Boris Ponsioen <b.g.t.ponsioen@uva.nl>
Date: Mon, 16 Apr 2018 15:43:29 +0200
Subject: [PATCH] Readds error handling in get_crossref_test temporarily

---
 metacore/services.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/metacore/services.py b/metacore/services.py
index 4ea922954..0c6b856ba 100644
--- a/metacore/services.py
+++ b/metacore/services.py
@@ -39,6 +39,8 @@ def get_crossref_test(cursor='*'):
             number_of_results = len(r_json['message']['items'])
 
             citables = [parse_crossref_citable(it) for it in citables_json]
+            # Parser returns None if there's an error
+            errors = any([not i for i in a if not i])
             citables = [citable for citable in citables if citable is not None]
 
             # Mass insert in database (will fail on encountering existing documents
@@ -46,8 +48,10 @@ def get_crossref_test(cursor='*'):
             if citables:
                 Citable.objects.insert(citables)
                 break
-            else:
+            elif errors:
                 print("Trying again")
+            else:
+                break
 
             citable = []
 
@@ -118,3 +122,4 @@ def parse_crossref_citable(citable_item):
         except Exception as e:
             print("Error: ", e)
             print(citable_item['DOI'])
+            return False
-- 
GitLab