diff --git a/importer/unification/UnifiedFrameImport.py b/importer/unification/UnifiedFrameImport.py index f1e392d34b82d4e61ddf743273922e805c7efd6f..16b3cd321f7620ec7f402d4918e8bab35de1c4c6 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):