2021-05-06 17:14:28 +10:00
|
|
|
import ifcopenshell.util.date
|
|
|
|
|
|
|
|
|
|
|
2021-04-07 00:04:57 +01:00
|
|
|
class Usecase:
|
|
|
|
|
def __init__(self, file, **settings):
|
|
|
|
|
self.file = file
|
2021-04-07 13:15:16 +10:00
|
|
|
self.settings = {"work_plan": None, "attributes": {}}
|
2021-04-07 00:04:57 +01:00
|
|
|
for key, value in settings.items():
|
|
|
|
|
self.settings[key] = value
|
|
|
|
|
|
|
|
|
|
def execute(self):
|
|
|
|
|
for name, value in self.settings["attributes"].items():
|
2021-05-06 17:14:28 +10:00
|
|
|
if value:
|
|
|
|
|
if "Date" in name or "Time" in name:
|
|
|
|
|
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
|
|
|
|
|
elif name == "Duration" or name == "TotalFloat":
|
|
|
|
|
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
|
2021-04-07 13:15:16 +10:00
|
|
|
setattr(self.settings["work_plan"], name, value)
|