From bebb29f486a39c946334c20655fbf06724f60aab Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 17 Apr 2025 11:37:02 +0500 Subject: [PATCH] ifc5d csv export - rename Description column to Name #5492 Because actually it is a name and this is the column name that csv2ifc expects. --- src/ifc5d/ifc5d/csv2ifc.py | 10 ++++++++++ src/ifc5d/ifc5d/ifc5Dspreadsheet.py | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/ifc5d/ifc5d/csv2ifc.py b/src/ifc5d/ifc5d/csv2ifc.py index 8b2c72fc5a..8ef2208107 100644 --- a/src/ifc5d/ifc5d/csv2ifc.py +++ b/src/ifc5d/ifc5d/csv2ifc.py @@ -107,6 +107,16 @@ class Csv2Ifc: mandatory_fields.update(non_sor_fields) available_fields = set(self.headers.keys()) missing_fields = mandatory_fields - available_fields + + # TODO: 25-04-17 Deprecated 'Description' argument, should fully remove later. + if missing_fields and "Name" in missing_fields and "Description" in available_fields: + print( + "WARNING. 'Description' column is deprecated and should be renamed to 'Name'. It will be deprecated soon completely." + ) + self.headers["Name"] = self.headers["Description"] + del self.headers["Description"] + missing_fields.remove("Name") + if missing_fields: if missing_fields == non_sor_fields and not self.is_schedule_of_rates: self.is_schedule_of_rates = True diff --git a/src/ifc5d/ifc5d/ifc5Dspreadsheet.py b/src/ifc5d/ifc5d/ifc5Dspreadsheet.py index c3a3663b3e..a670d423aa 100644 --- a/src/ifc5d/ifc5d/ifc5Dspreadsheet.py +++ b/src/ifc5d/ifc5d/ifc5Dspreadsheet.py @@ -35,7 +35,7 @@ class CostItem(TypedDict): Hierarchy: str Id: int Identification: Union[str, None] - Description: Union[str, None] + Name: Union[str, None] Unit: str Quantity: int ChildrenData: list["CostItem"] @@ -131,7 +131,7 @@ class IfcDataGetter: "Hierarchy": hierarchy, "Id": cost_item.id(), "Identification": cost_item.Identification, - "Description": cost_item.Name, + "Name": cost_item.Name, "Unit": cost_values_data[0]["unit"] if cost_values_data else "", "Quantity": quantity_data["quantity"]["total_quantity"], "ChildrenData": [], @@ -290,7 +290,7 @@ class Ifc5Dwriter: "Hierarchy", "Index", "Identification", - "Description", + "Name", "Quantity", "Unit", ]