diff --git a/src/caosdb/apiutils.py b/src/caosdb/apiutils.py index 0a9b9590497f6c6758a128dd4f7dfb9f601542e9..105e3e63ffb74e101b303d580c5b1d872d2fc6c4 100644 --- a/src/caosdb/apiutils.py +++ b/src/caosdb/apiutils.py @@ -207,6 +207,7 @@ def compare_entities(old_entity: Entity, new_entity: Entity, - Information about properties: - Each property lists either an additional property or a property with a changed: - datatype + - unit - importance or - value @@ -287,6 +288,9 @@ def compare_entities(old_entity: Entity, new_entity: Entity, if len(matching_old) != 1: raise NotImplementedError( "Comparison not implemented for multi-properties.") + if len(matching) > 1: + raise NotImplementedError( + "Comparison not implemented for multi-properties.") if len(matching) == 0: olddiff["properties"][prop.name] = {} @@ -342,9 +346,7 @@ def compare_entities(old_entity: Entity, new_entity: Entity, newdiff["properties"].pop(prop.name) olddiff["properties"].pop(prop.name) - else: - raise NotImplementedError( - "Comparison not implemented for multi-properties.") + for prop in new_entity.properties: if len([0 for p in old_entity.properties if p.name == prop.name]) == 0: