From e073f11e25831d8772bc8cb3546d32bac2f8dfc1 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 18 Oct 2024 14:35:04 +0500 Subject: [PATCH] typing --- .../bonsai/bim/module/pset_template/operator.py | 17 ++++++++++------- src/bonsai/bonsai/tool/blender.py | 2 ++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/pset_template/operator.py b/src/bonsai/bonsai/bim/module/pset_template/operator.py index 0b82bf746b..c08e371df1 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/operator.py +++ b/src/bonsai/bonsai/bim/module/pset_template/operator.py @@ -33,19 +33,22 @@ class PsetTemplateOperator: @final def execute(self, context): IfcStore.begin_transaction(self) - IfcStore.pset_template_file.begin_transaction() + template_file = IfcStore.pset_template_file + assert template_file + self.template_file = template_file + template_file.begin_transaction() result = self._execute(context) - IfcStore.pset_template_file.end_transaction() + template_file.end_transaction() IfcStore.add_transaction_operation(self) IfcStore.end_transaction(self) bonsai.bim.handler.refresh_ui_data() return {"FINISHED"} def rollback(self, data): - IfcStore.pset_template_file.undo() + self.template_file.undo() def commit(self, data): - IfcStore.pset_template_file.redo() + self.template_file.redo() def _execute(self, context: bpy.types.Context) -> None: tool.Ifc.Operator._execute(self, context) @@ -102,10 +105,10 @@ class RemovePsetTemplate(bpy.types.Operator, PsetTemplateOperator): bpy.ops.bim.disable_editing_pset_template() ifcopenshell.api.run( "pset_template.remove_pset_template", - IfcStore.pset_template_file, - **{"pset_template": IfcStore.pset_template_file.by_id(int(props.pset_templates))} + self.template_file, + **{"pset_template": self.template_file.by_id(int(props.pset_templates))} ) - IfcStore.pset_template_file.write(IfcStore.pset_template_path) + self.template_file.write(IfcStore.pset_template_path) bonsai.bim.handler.refresh_ui_data() bonsai.bim.schema.reload(tool.Ifc.get().schema) diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index 77e35620f4..11dce3698d 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -559,6 +559,8 @@ class Blender(bonsai.core.tool.Blender): def get_enum_safe(cls, props: bpy.types.PropertyGroup, prop_name: str) -> Union[str, None]: """method created for readibility and to avoid console warnings like `pyrna_enum_to_py: current value '17' matches no enum in 'BIMModelProperties', '', 'relating_type_id'` + + :return: Enum property value as a string or None if current enum value is invalid. """ # Yes, accessing items through annotations is a bit hacky # but it's the only way to get the dynamic enum items