mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 06:58:56 +00:00
Quality check - run black on api/resource
This commit is contained in:
@@ -50,5 +50,10 @@ class Usecase:
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
context = self.file.by_type("IfcContext")[0]
|
context = self.file.by_type("IfcContext")[0]
|
||||||
ifcopenshell.api.run("project.assign_declaration", self.file, definition=resource, relating_context=context)
|
ifcopenshell.api.run(
|
||||||
|
"project.assign_declaration",
|
||||||
|
self.file,
|
||||||
|
definition=resource,
|
||||||
|
relating_context=context,
|
||||||
|
)
|
||||||
return resource
|
return resource
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ class Usecase:
|
|||||||
for assignment in self.settings["related_object"].HasAssignments:
|
for assignment in self.settings["related_object"].HasAssignments:
|
||||||
if (
|
if (
|
||||||
assignment.is_a("IfclRelAssignsToResource")
|
assignment.is_a("IfclRelAssignsToResource")
|
||||||
and assignment.RelatingResource == self.settings["relating_resource"]
|
and assignment.RelatingResource
|
||||||
|
== self.settings["relating_resource"]
|
||||||
):
|
):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -47,13 +48,17 @@ class Usecase:
|
|||||||
related_objects = list(resource_of.RelatedObjects)
|
related_objects = list(resource_of.RelatedObjects)
|
||||||
related_objects.append(self.settings["related_object"])
|
related_objects.append(self.settings["related_object"])
|
||||||
resource_of.RelatedObjects = related_objects
|
resource_of.RelatedObjects = related_objects
|
||||||
ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": resource_of})
|
ifcopenshell.api.run(
|
||||||
|
"owner.update_owner_history", self.file, **{"element": resource_of}
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
resource_of = self.file.create_entity(
|
resource_of = self.file.create_entity(
|
||||||
"IfcRelAssignsToResource",
|
"IfcRelAssignsToResource",
|
||||||
**{
|
**{
|
||||||
"GlobalId": ifcopenshell.guid.new(),
|
"GlobalId": ifcopenshell.guid.new(),
|
||||||
"OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
|
"OwnerHistory": ifcopenshell.api.run(
|
||||||
|
"owner.create_owner_history", self.file
|
||||||
|
),
|
||||||
"RelatedObjects": [self.settings["related_object"]],
|
"RelatedObjects": [self.settings["related_object"]],
|
||||||
"RelatingResource": self.settings["relating_resource"],
|
"RelatingResource": self.settings["relating_resource"],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,23 +30,31 @@ class Usecase:
|
|||||||
self.settings[key] = value
|
self.settings[key] = value
|
||||||
|
|
||||||
def execute(self):
|
def execute(self):
|
||||||
self.productivity = ifcopenshell.util.element.get_psets(self.settings["resource"]).get(
|
self.productivity = ifcopenshell.util.element.get_psets(
|
||||||
"EPset_Productivity", None
|
self.settings["resource"]
|
||||||
)
|
).get("EPset_Productivity", None)
|
||||||
if not self.productivity:
|
if not self.productivity:
|
||||||
return
|
return
|
||||||
unit_consumed = self.get_unit_consumed()
|
unit_consumed = self.get_unit_consumed()
|
||||||
self.unit_produced_name = self.productivity.get("BaseQuantityProducedName", None)
|
self.unit_produced_name = self.productivity.get(
|
||||||
|
"BaseQuantityProducedName", None
|
||||||
|
)
|
||||||
unit_produced = self.productivity.get("BaseQuantityProducedValue", None)
|
unit_produced = self.productivity.get("BaseQuantityProducedValue", None)
|
||||||
total_produced = self.get_total_produced()
|
total_produced = self.get_total_produced()
|
||||||
if not unit_consumed or not unit_produced or not total_produced:
|
if not unit_consumed or not unit_produced or not total_produced:
|
||||||
return
|
return
|
||||||
if not self.settings["resource"].Usage:
|
if not self.settings["resource"].Usage:
|
||||||
ifcopenshell.api.run("resource.add_resource_time", self.file, resource=self.settings["resource"])
|
ifcopenshell.api.run(
|
||||||
|
"resource.add_resource_time",
|
||||||
|
self.file,
|
||||||
|
resource=self.settings["resource"],
|
||||||
|
)
|
||||||
if "T" in self.productivity.get("BaseQuantityConsumed", None):
|
if "T" in self.productivity.get("BaseQuantityConsumed", None):
|
||||||
seconds = (unit_consumed.days * 24 * 60 * 60) + unit_consumed.seconds
|
seconds = (unit_consumed.days * 24 * 60 * 60) + unit_consumed.seconds
|
||||||
amount_worked = total_produced / unit_produced * seconds
|
amount_worked = total_produced / unit_produced * seconds
|
||||||
self.settings["resource"].Usage.ScheduleWork = f"PT{amount_worked / 60 / 60}H"
|
self.settings[
|
||||||
|
"resource"
|
||||||
|
].Usage.ScheduleWork = f"PT{amount_worked / 60 / 60}H"
|
||||||
else:
|
else:
|
||||||
days = unit_consumed.days + (unit_consumed.seconds / (24 * 60 * 60))
|
days = unit_consumed.days + (unit_consumed.seconds / (24 * 60 * 60))
|
||||||
amount_worked = total_produced / unit_produced * days
|
amount_worked = total_produced / unit_produced * days
|
||||||
|
|||||||
@@ -59,7 +59,11 @@ class Data(CostValueTrait):
|
|||||||
data["ResourceOf"] = []
|
data["ResourceOf"] = []
|
||||||
for rel in resource.ResourceOf:
|
for rel in resource.ResourceOf:
|
||||||
[data["ResourceOf"].append(o.id()) for o in rel.RelatedObjects]
|
[data["ResourceOf"].append(o.id()) for o in rel.RelatedObjects]
|
||||||
data["HasContext"] = resource.HasContext[0].RelatingContext.id() if resource.HasContext else None
|
data["HasContext"] = (
|
||||||
|
resource.HasContext[0].RelatingContext.id()
|
||||||
|
if resource.HasContext
|
||||||
|
else None
|
||||||
|
)
|
||||||
if resource.Usage:
|
if resource.Usage:
|
||||||
data["Usage"] = data["Usage"].id()
|
data["Usage"] = data["Usage"].id()
|
||||||
data["TotalCostQuantity"] = cls.get_total_quantity(resource)
|
data["TotalCostQuantity"] = cls.get_total_quantity(resource)
|
||||||
|
|||||||
@@ -36,16 +36,27 @@ class Usecase:
|
|||||||
and "ScheduleFinish" in self.settings["attributes"].keys()
|
and "ScheduleFinish" in self.settings["attributes"].keys()
|
||||||
):
|
):
|
||||||
del self.settings["attributes"]["ScheduleFinish"]
|
del self.settings["attributes"]["ScheduleFinish"]
|
||||||
if self.settings["attributes"].get("ActualWork", None) and "ActualFinish" in self.settings["attributes"].keys():
|
if (
|
||||||
|
self.settings["attributes"].get("ActualWork", None)
|
||||||
|
and "ActualFinish" in self.settings["attributes"].keys()
|
||||||
|
):
|
||||||
del self.settings["attributes"]["ActualFinish"]
|
del self.settings["attributes"]["ActualFinish"]
|
||||||
|
|
||||||
for name, value in self.settings["attributes"].items():
|
for name, value in self.settings["attributes"].items():
|
||||||
if value:
|
if value:
|
||||||
if "Start" in name or "Finish" in name or name == "StatusTime":
|
if "Start" in name or "Finish" in name or name == "StatusTime":
|
||||||
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
|
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
|
||||||
elif name == "ScheduleWork" or name == "ActualWork" or name == "RemainingTime":
|
elif (
|
||||||
|
name == "ScheduleWork"
|
||||||
|
or name == "ActualWork"
|
||||||
|
or name == "RemainingTime"
|
||||||
|
):
|
||||||
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
|
value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
|
||||||
setattr(self.settings["resource_time"], name, value)
|
setattr(self.settings["resource_time"], name, value)
|
||||||
|
|
||||||
def get_resource(self):
|
def get_resource(self):
|
||||||
return [e for e in self.file.get_inverse(self.settings["resource_time"]) if e.is_a("IfcResource")][0]
|
return [
|
||||||
|
e
|
||||||
|
for e in self.file.get_inverse(self.settings["resource_time"])
|
||||||
|
if e.is_a("IfcResource")
|
||||||
|
][0]
|
||||||
|
|||||||
@@ -31,12 +31,17 @@ class Usecase:
|
|||||||
|
|
||||||
def execute(self):
|
def execute(self):
|
||||||
for rel in self.settings["related_object"].HasAssignments or []:
|
for rel in self.settings["related_object"].HasAssignments or []:
|
||||||
if not rel.is_a("IfcRelAssignsToResource") or rel.RelatingResource != self.settings["relating_resource"]:
|
if (
|
||||||
|
not rel.is_a("IfcRelAssignsToResource")
|
||||||
|
or rel.RelatingResource != self.settings["relating_resource"]
|
||||||
|
):
|
||||||
continue
|
continue
|
||||||
if len(rel.RelatedObjects) == 1:
|
if len(rel.RelatedObjects) == 1:
|
||||||
return self.file.remove(rel)
|
return self.file.remove(rel)
|
||||||
related_objects = list(rel.RelatedObjects)
|
related_objects = list(rel.RelatedObjects)
|
||||||
related_objects.remove(self.settings["related_object"])
|
related_objects.remove(self.settings["related_object"])
|
||||||
rel.RelatedObjects = related_objects
|
rel.RelatedObjects = related_objects
|
||||||
ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
|
ifcopenshell.api.run(
|
||||||
|
"owner.update_owner_history", self.file, **{"element": rel}
|
||||||
|
)
|
||||||
return rel
|
return rel
|
||||||
|
|||||||
Reference in New Issue
Block a user