From a7152bdef0234a72752bed89e3bb91e21c95c08d Mon Sep 17 00:00:00 2001 From: Blender Defender Date: Fri, 26 Jul 2024 11:43:03 +0200 Subject: [PATCH] feat: Convert argument names into prettier looking property names in the IFC Patch Panel Inspired by #4721 --- .../blenderbim/bim/module/patch/operator.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/patch/operator.py b/src/blenderbim/blenderbim/bim/module/patch/operator.py index d0bf9b1bd6..963f70b7de 100644 --- a/src/blenderbim/blenderbim/bim/module/patch/operator.py +++ b/src/blenderbim/blenderbim/bim/module/patch/operator.py @@ -132,7 +132,7 @@ class UpdateIfcPatchArguments(bpy.types.Operator): "int": "integer", "bool": "boolean", }[data_type] - new_attr.name = arg_name + new_attr.name = self.pretty_arg_name(arg_name) if new_attr.data_type == "enum": new_attr.enum_items = json.dumps(arg_info.get("enum_items", [])) new_attr.enum_value = arg_info.get("default", new_attr.get_value_default()) @@ -141,6 +141,21 @@ class UpdateIfcPatchArguments(bpy.types.Operator): new_attr.set_value(arg_info.get("default", new_attr.get_value_default())) return {"FINISHED"} + def pretty_arg_name(self, arg_name: str): + words = [] + + for word in arg_name.split("_"): + word = word.strip().capitalize() + + replacements = [("Dir", "Directory"), ("Sql", "SQL")] + + for prev, new in replacements: + word = word.replace(prev, new) + + words.append(word) + + return " ".join(words) + class RunMigratePatch(bpy.types.Operator): bl_idname = "bim.run_migrate_patch"