diff --git a/.github/scripts/check-whitespace.py b/.github/scripts/check-whitespace.py index e3a7b2f210..4d17530e88 100644 --- a/.github/scripts/check-whitespace.py +++ b/.github/scripts/check-whitespace.py @@ -297,6 +297,7 @@ PATTERNS = ( "*/CMakeLists.txt", "*.yml", "*.yaml", + "*.json", "*.ts", "*.js", "*.bat", diff --git a/.vscode/launch.json b/.vscode/launch.json index 63fa0f352d..81b76a9e33 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -21,4 +21,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 883373e476..26ded797ba 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -40,7 +40,7 @@ ], "problemMatcher": [] } - + ], "inputs": [ { @@ -50,4 +50,4 @@ "default": "blender" } ] -} \ No newline at end of file +} diff --git a/src/bonsai/docs/guides/development/ide/linux/launch.json b/src/bonsai/docs/guides/development/ide/linux/launch.json index d8f3ad872f..f14de73470 100644 --- a/src/bonsai/docs/guides/development/ide/linux/launch.json +++ b/src/bonsai/docs/guides/development/ide/linux/launch.json @@ -4,7 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - + { "name": "BonsaiDocsServer", "type": "debugpy", diff --git a/src/bonsai/docs/guides/development/ide/linux/tasks.json b/src/bonsai/docs/guides/development/ide/linux/tasks.json index dbf3162d3d..0f6dbbace1 100644 --- a/src/bonsai/docs/guides/development/ide/linux/tasks.json +++ b/src/bonsai/docs/guides/development/ide/linux/tasks.json @@ -19,4 +19,3 @@ } ] } - diff --git a/src/bonsai/docs/guides/development/ide/windows/launch.json b/src/bonsai/docs/guides/development/ide/windows/launch.json index 941c9b3f6b..de66f9488b 100644 --- a/src/bonsai/docs/guides/development/ide/windows/launch.json +++ b/src/bonsai/docs/guides/development/ide/windows/launch.json @@ -4,7 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - + { "name": "BonsaiDocsServer", "type": "debugpy", @@ -15,4 +15,4 @@ "console": "integratedTerminal" } ] -} \ No newline at end of file +} diff --git a/src/bonsai/docs/guides/development/ide/windows/tasks.json b/src/bonsai/docs/guides/development/ide/windows/tasks.json index 6d8a1ff195..3a396cd106 100644 --- a/src/bonsai/docs/guides/development/ide/windows/tasks.json +++ b/src/bonsai/docs/guides/development/ide/windows/tasks.json @@ -21,4 +21,4 @@ "problemMatcher": [] } ] -} \ No newline at end of file +} diff --git a/src/bonsai/scripts/generate_util_type_json.py b/src/bonsai/scripts/generate_util_type_json.py index 7c44a9dfe9..16f32015f1 100644 --- a/src/bonsai/scripts/generate_util_type_json.py +++ b/src/bonsai/scripts/generate_util_type_json.py @@ -81,6 +81,7 @@ def generate_ifc4_entity_map(filepath, schema_name, manual_corrections={}): schema_version = schema_name.lower().strip("ifc") with open(f"src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_{schema_version}.json", "w") as f: json.dump(entity_to_type_map, f, indent=4, sort_keys=True) + f.write("\n") return entity_to_type_map @@ -126,6 +127,7 @@ def generate_ifc2x3_entity_map(): with open("src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_2x3.json", "w") as f: json.dump(entity_to_type_map, f, indent=4, sort_keys=True) + f.write("\n") return entity_to_type_map diff --git a/src/ifccityjson/example/geometries.json b/src/ifccityjson/example/geometries.json index 076c8142f2..c023c418dd 100644 --- a/src/ifccityjson/example/geometries.json +++ b/src/ifccityjson/example/geometries.json @@ -482,4 +482,4 @@ 1.0 ] } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/doc.py b/src/ifcopenshell-python/ifcopenshell/util/doc.py index b0443f6117..3b189835cf 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/doc.py +++ b/src/ifcopenshell-python/ifcopenshell/util/doc.py @@ -298,6 +298,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc2x3_property_sets_site_domains.json", "w", encoding="utf-8") as fo: print(f"{len(property_sets_domains)} property sets domains were parsed from the website") json.dump(property_sets_domains, fo, sort_keys=True, indent=4) + fo.write("\n") def setup_ifc2x3_reference_lookup(self): # setup references look up tables to convert property hrefs to actual data paths @@ -414,6 +415,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc2x3_entities.json", "w", encoding="utf-8") as fo: print(f"{len(entities_dict)} entities parsed") json.dump(entities_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc2x3_property_sets(self): property_sets_dict = dict() @@ -534,6 +536,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc2x3_properties.json", "w", encoding="utf-8") as fo: print(f"{len(property_sets_dict)} property sets parsed") json.dump(property_sets_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc2x3_types(self): types_dict = dict() @@ -573,6 +576,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc2x3_types.json", "w", encoding="utf-8") as fo: print(f"{len(types_dict)} ifc types parsed") json.dump(types_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc4(self): print("Parsing data for Ifc4.0.2.1") @@ -623,6 +627,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4_property_sets_site_domains.json", "w", encoding="utf-8") as fo: print(f"{len(property_sets_domains)} property sets domains were parsed from the website") json.dump(property_sets_domains, fo, sort_keys=True, indent=4) + fo.write("\n") def setup_ifc4_reference_lookup(self): references_paths_lookup = dict() @@ -735,6 +740,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4_entities.json", "w", encoding="utf-8") as fo: print(f"{len(entities_dict)} entities parsed") json.dump(entities_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc4_property_sets(self): # function parses both property and quantity sets @@ -872,6 +878,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4_properties.json", "w", encoding="utf-8") as fo: print(f"{len(property_sets_dict)} property sets parsed") json.dump(property_sets_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc4_types(self): types_dict = dict() @@ -912,6 +919,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4_types.json", "w", encoding="utf-8") as fo: print(f"{len(types_dict)} ifc types parsed") json.dump(types_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc4x3(self): print("Parsing data for Ifc4.3.0.1") @@ -1029,11 +1037,13 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4x3_entities.json", "w", encoding="utf-8") as fo: print(f"{len(entities_dict)} entities parsed") json.dump(entities_dict, fo, sort_keys=True, indent=4) + fo.write("\n") # export entities data with open(BASE_MODULE_PATH / "schema/ifc4x3_types.json", "w", encoding="utf-8") as fo: print(f"{len(types_dict)} ifc types parsed") json.dump(types_dict, fo, sort_keys=True, indent=4) + fo.write("\n") def extract_ifc4x3_property_sets(self): pset_data_zip = IFC4x3_HTML_LOCATION / "IFC/RELEASE/IFC4x3/HTML/annex-a-psd.zip" @@ -1078,6 +1088,7 @@ class DocExtractor: with open(BASE_MODULE_PATH / "schema/ifc4x3_properties.json", "w", encoding="utf-8") as fo: print(f"{len(property_sets_dict)} property sets parsed") json.dump(property_sets_dict, fo, sort_keys=True, indent=4) + fo.write("\n") shutil.rmtree(pset_data_location) diff --git a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_2x3.json b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_2x3.json index 85fd88ca9b..830727b523 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_2x3.json +++ b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_2x3.json @@ -421,4 +421,4 @@ "IfcWindow": [ "IfcWindowStyle" ] -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4.json b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4.json index 4e47c2934d..5e3344a7db 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4.json +++ b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4.json @@ -381,4 +381,4 @@ "IfcWindowType", "IfcWindowStyle" ] -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4x3.json b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4x3.json index 6d712fcada..15334c4d46 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4x3.json +++ b/src/ifcopenshell-python/ifcopenshell/util/entity_to_type_map_4x3.json @@ -425,4 +425,4 @@ "IfcWindow": [ "IfcWindowType" ] -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_entities.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_entities.json index 3d3bb81afb..0cc31372ed 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_entities.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_entities.json @@ -5729,4 +5729,4 @@ "description": "A zone (IfcZone) is an aggregation of spaces, partial spaces or other zones. Zone structures may not be hierarchical (in contrary to the spatial structure of a project - see IfcSpatialStructureElement), i.e. one individual IfcSpace may be associated with zero, one, or several IfcZone's. IfcSpace's are aggregated into an IfcZone by using the objectified relationship IfcRelAssignsToGroup as specified at the supertype IfcGroup.", "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcproductextension/lexical/ifczone.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_properties.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_properties.json index 5e9e10fb1a..3688d33800 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_properties.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_properties.json @@ -7226,4 +7226,4 @@ }, "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/psd/IfcProductExtension/Pset_ZoneCommon.xml" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_property_sets_site_domains.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_property_sets_site_domains.json index c3db781695..9975350804 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_property_sets_site_domains.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_property_sets_site_domains.json @@ -316,4 +316,4 @@ "Pset_WasteTerminalTypeWasteTrap": "IfcPlumbingFireProtectionDomain", "Pset_WindowCommon": "IfcSharedBldgElements", "Pset_ZoneCommon": "IfcProductExtension" -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_types.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_types.json index 3f7f7919da..8819398ed3 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_types.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc2x3_types.json @@ -1307,4 +1307,4 @@ "description": "The year as defined in Gregorian Calendar.", "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcdatetimeresource/lexical/ifcyearnumber.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_entities.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_entities.json index 12a4241937..a361305283 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_entities.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_entities.json @@ -7949,4 +7949,4 @@ "description": "A zone is a group of spaces, partial spaces or other zones. Zone structures may not be hierarchical (in contrary to the spatial structure of a project - see IfcSpatialStructureElement), i.e. one individual IfcSpace may be associated with zero, one, or several IfcZone's. IfcSpace's are grouped into an IfcZone by using the objectified relationship IfcRelAssignsToGroup as specified at the supertype IfcGroup.", "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcproductextension/lexical/ifczone.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_properties.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_properties.json index 16db2f158c..6cd2748d19 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_properties.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_properties.json @@ -11485,4 +11485,4 @@ }, "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcsharedbldgelements/qset/qto_windowbasequantities.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_property_sets_site_domains.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_property_sets_site_domains.json index b4f6ac8082..492d59484e 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_property_sets_site_domains.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_property_sets_site_domains.json @@ -512,4 +512,4 @@ "qto_wallbasequantities": "ifcsharedbldgelements", "qto_wasteterminalbasequantities": "ifcplumbingfireprotectiondomain", "qto_windowbasequantities": "ifcsharedbldgelements" -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_types.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_types.json index d8f2b9d3a6..f2a3da05b8 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_types.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4_types.json @@ -1587,4 +1587,4 @@ "description": "An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected.", "spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcprocessextension/lexical/ifcworkscheduletypeenum.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_entities.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_entities.json index dac60e8a56..c1e65a41c7 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_entities.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_entities.json @@ -9380,4 +9380,4 @@ "description": "A zone is a group of spaces, partial spaces or other zones. These spaces may or may not be adjacent. A zone does not have its own shape representation. Zone structures may not be hierarchical (in contrary to the spatial structure of a project - see IfcSpatialStructureElement), i.e. one individual IfcSpace may be associated with zero, one, or several IfcZone's. IfcSpace's are grouped into an IfcZone by using the objectified relationship IfcRelAssignsToGroup as specified at the supertype IfcGroup. For example, a zone might be used to represent an apartment as a group of spaces.", "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcZone.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_properties.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_properties.json index 0e1cdf0247..1299162d50 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_properties.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_properties.json @@ -16523,4 +16523,4 @@ }, "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/Qto_WindowBaseQuantities.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_types.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_types.json index b1418b954d..003b78c48b 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_types.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc4x3_types.json @@ -1743,4 +1743,4 @@ "description": "An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant process can be selected.", "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkScheduleTypeEnum.htm" } -} \ No newline at end of file +} diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc_classes_suggestions.json b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc_classes_suggestions.json index c3cf248ada..986dcf83fd 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema/ifc_classes_suggestions.json +++ b/src/ifcopenshell-python/ifcopenshell/util/schema/ifc_classes_suggestions.json @@ -114,7 +114,7 @@ { "name": "Shrubs" } - ], + ], "IfcPlate": [ { "name": "Glazing" diff --git a/src/opencdeserver/api/app/db_config/arrows.app.json b/src/opencdeserver/api/app/db_config/arrows.app.json index d7b3caea72..9aec040995 100644 --- a/src/opencdeserver/api/app/db_config/arrows.app.json +++ b/src/opencdeserver/api/app/db_config/arrows.app.json @@ -652,4 +652,4 @@ "toId": "n19" } ] -} \ No newline at end of file +}