From 80f35d0bdafc87646c4c3c1f302dc3dd9a26d75e Mon Sep 17 00:00:00 2001 From: "Sigma Dimensions (Yass)" <79010126+myoualid@users.noreply.github.com> Date: Sun, 17 Dec 2023 20:25:23 +0100 Subject: [PATCH] Fix CSV workschedule import - handle date-related attributes more gracefully --- src/ifc4d/ifc4d/csv4d2ifc.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ifc4d/ifc4d/csv4d2ifc.py b/src/ifc4d/ifc4d/csv4d2ifc.py index 79f551fa47..a5f6a460a9 100644 --- a/src/ifc4d/ifc4d/csv4d2ifc.py +++ b/src/ifc4d/ifc4d/csv4d2ifc.py @@ -86,12 +86,12 @@ class Csv2Ifc: task_relationships = self.parse_task_rel(row[self.headers["Relationships"]]) - scheduled_start_date = ifcopenshell.util.date.string_to_date(row[self.headers["ScheduleStart"]]) - scheduled_finish_date = ifcopenshell.util.date.string_to_date(row[self.headers["ScheduleFinish"]]) - scheduled_duration = ifcopenshell.util.date.string_to_duration(row[self.headers["ScheduleDuration"]]) - actual_start_date = ifcopenshell.util.date.string_to_date(row[self.headers["ActualStart"]]) - actual_finish_date = ifcopenshell.util.date.string_to_date(row[self.headers["ActualFinish"]]) - actual_duration = ifcopenshell.util.date.string_to_duration(row[self.headers["ActualDuration"]]) + scheduled_start_date = ifcopenshell.util.date.string_to_date(row[self.headers["ScheduleStart"]]) if row[self.headers["ScheduleStart"]] else None + scheduled_finish_date = ifcopenshell.util.date.string_to_date(row[self.headers["ScheduleFinish"]]) if row[self.headers["ScheduleFinish"]] else None + scheduled_duration = ifcopenshell.util.date.string_to_duration(row[self.headers["ScheduleDuration"]]) if row[self.headers["ScheduleDuration"]] else None + actual_start_date = ifcopenshell.util.date.string_to_date(row[self.headers["ActualStart"]]) if row[self.headers["ActualStart"]] else None + actual_finish_date = ifcopenshell.util.date.string_to_date(row[self.headers["ActualFinish"]]) if row[self.headers["ActualFinish"]] else None + actual_duration = ifcopenshell.util.date.string_to_duration(row[self.headers["ActualDuration"]]) if row[self.headers["ActualDuration"]] else None return { "Hierarchy": hierarchy, @@ -162,7 +162,7 @@ class Csv2Ifc: "ScheduleStart": task["ScheduleStart"], "ScheduleFinish": task["ScheduleFinish"], "DurationType": "WORKTIME" if task["ScheduleDuration"] else None, - "ScheduleDuration": task["ScheduleDuration"] if task["ScheduleDuration"] else None, + "ScheduleDuration": task["ScheduleDuration"], "ActualStart": task["ActualStart"], "ActualFinish": task["ActualFinish"], "ActualDuration": task["ActualDuration"],