From 0caa276dd1b9ef0ca16e3ba69fe413d2f296e963 Mon Sep 17 00:00:00 2001
From: Florian Spreckelsen <f.spreckelsen@indiscale.com>
Date: Thu, 12 Sep 2024 10:44:34 +0200
Subject: [PATCH] MAINT: Add error handling for ImpossibleMergeErrors

---
 src/caoscrawler/crawl.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/caoscrawler/crawl.py b/src/caoscrawler/crawl.py
index 1064fbca..e2110a69 100644
--- a/src/caoscrawler/crawl.py
+++ b/src/caoscrawler/crawl.py
@@ -1114,6 +1114,14 @@ def crawler_main(crawled_directory_path: str,
         logger.error(err)
         _update_status_record(crawler.run_id, 0, 0, status="FAILED")
         return 1
+    except ImpossibleMergeError as err:
+        logger.debug(traceback.format_exc())
+        logger.error(
+            "Encountered conflicting information when creating Records from the crawled "
+            f"data:\n\n{err}"
+        )
+        _update_status_record(crawler.run_id, 0, 0, status="FAILED")
+        return 1
     except TransactionError as err:
         logger.debug(traceback.format_exc())
         logger.error(err)
-- 
GitLab