From 9998df4571e768532a6920f9574708130906cb2d Mon Sep 17 00:00:00 2001
From: dcz <dcz@ipipan.waw.pl>
Date: Wed, 19 Jul 2023 14:13:57 +0200
Subject: [PATCH] Ignore non existing slowal frames

---
 importer/unification/UnifiedFrameImport.py | 34 +++++++++++-----------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/importer/unification/UnifiedFrameImport.py b/importer/unification/UnifiedFrameImport.py
index f1e392d..16b3cd3 100644
--- a/importer/unification/UnifiedFrameImport.py
+++ b/importer/unification/UnifiedFrameImport.py
@@ -54,25 +54,25 @@ class UnifiedFrameImport:
     def storeSlowalFrame(cls, tree, unifiedFrame, argumentIdsMapping):
         slowal_frame_id = tree._attrs['id']
 
-        users = Frame.objects.filter(pk=slowal_frame_id)
-        if not users.exists():
+        frames = Frame.objects.filter(pk=slowal_frame_id)
+        if frames.exists():
+            unifiedFrame2SlowalFrameMapping = UnifiedFrame2SlowalFrameMapping(unified_frame=unifiedFrame,
+                                                                            slowal_frame_id=slowal_frame_id)
+            unifiedFrame2SlowalFrameMapping.save()
+
+            for subtree in tree._children:
+                if subtree._name == 'argument_connections':
+                    for subsubtree in subtree._children:
+                        if subsubtree._name == 'argument_connection':
+                            unifier_argument_id = subsubtree._attrs['unifier_argument_id']
+                            slowal_id = subsubtree._attrs['slowal_id']
+                            unifiedFrameArgumentSlowalFrameMapping = UnifiedFrameArgumentSlowalFrameMapping(unified_frame_mapping=unifiedFrame2SlowalFrameMapping,
+                                                                                                          unified_agrument_id=argumentIdsMapping[unifier_argument_id],
+                                                                                                          slowal_agrument_id=slowal_id)
+                            unifiedFrameArgumentSlowalFrameMapping.save()
+        else:
             print('Slowal frame do not exists in database: {}', slowal_frame_id)
 
-        unifiedFrame2SlowalFrameMapping = UnifiedFrame2SlowalFrameMapping(unified_frame=unifiedFrame,
-                                                                        slowal_frame_id=slowal_frame_id)
-        unifiedFrame2SlowalFrameMapping.save()
-
-        for subtree in tree._children:
-            if subtree._name == 'argument_connections':
-                for subsubtree in subtree._children:
-                    if subsubtree._name == 'argument_connection':
-                        unifier_argument_id = subsubtree._attrs['unifier_argument_id']
-                        slowal_id = subsubtree._attrs['slowal_id']
-                        unifiedFrameArgumentSlowalFrameMapping = UnifiedFrameArgumentSlowalFrameMapping(unified_frame_mapping=unifiedFrame2SlowalFrameMapping,
-                                                                                                      unified_agrument_id=argumentIdsMapping[unifier_argument_id],
-                                                                                                      slowal_agrument_id=slowal_id)
-                        unifiedFrameArgumentSlowalFrameMapping.save()
-
     @classmethod
     def storeUnifiedFrame(cls, frame_tree):
 
-- 
GitLab