Refactor ownership history system to be simpler and just a usecase. See #1399.

This commit is contained in:
Dion Moult
2021-03-25 11:42:12 +11:00
parent 9c00872a57
commit 489a248e9a
15 changed files with 86 additions and 109 deletions
@@ -1,6 +1,6 @@
import ifcopenshell
from ifcopenshell.api.owner.api import create_owner_history
from ifcopenshell.api.owner.api import update_owner_history
import ifcopenshell.api.owner.create_owner_history as create_owner_history
import ifcopenshell.api.owner.update_owner_history as update_owner_history
class Usecase:
@@ -32,7 +32,7 @@ class Usecase:
related_objects.remove(self.settings["product"])
if related_objects:
decomposes.RelatedObjects = related_objects
update_owner_history(decomposes)
update_owner_history.Usecase(self.file, {"element": decomposes}).execute()
else:
self.file.remove(decomposes)
@@ -40,13 +40,13 @@ class Usecase:
related_objects = list(is_decomposed_by.RelatedObjects)
related_objects.append(self.settings["product"])
is_decomposed_by.RelatedObjects = related_objects
update_owner_history(is_decomposed_by)
update_owner_history.Usecase(self.file, {"element": is_decomposed_by}).execute()
else:
is_decomposed_by = self.file.create_entity(
"IfcRelAggregates",
**{
"GlobalId": ifcopenshell.guid.new(),
"OwnerHistory": create_owner_history(),
"OwnerHistory": create_owner_history.Usecase(self.file).execute(),
"RelatedObjects": [self.settings["product"]],
"RelatingObject": self.settings["relating_object"],
}