Skip to content

Commit c3d541a

Browse files
authored
Use code for property type definitions (#60)
* Added code_to_class_name utils function and testing * Generated new properties with class naming corrected
1 parent 6d634f7 commit c3d541a

File tree

5 files changed

+296
-240
lines changed

5 files changed

+296
-240
lines changed

bam_masterdata/cli/fill_masterdata.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import click
44

55
from bam_masterdata.openbis import OpenbisEntities
6+
from bam_masterdata.utils import code_to_class_name
67

78

89
class MasterdataCodeGenerator:
@@ -24,20 +25,6 @@ def __init__(self, url: str = ""):
2425
f"Loaded OpenBIS entities in `MasterdataCodeGenerator` initialization {elapsed_time:.2f} seconds\n"
2526
)
2627

27-
def _format_class_name(self, code: str) -> str:
28-
"""
29-
Format the class name based on the `code` of the entity to follow Python snake case conventions.
30-
31-
Args:
32-
code (str): The code of the entity.
33-
34-
Returns:
35-
str: The formatted class name.
36-
"""
37-
if "." in code:
38-
code = code.split(".")[-1]
39-
return code.title().replace("_", "").replace("$", "")
40-
4128
def determine_parent_class(
4229
self, code: str, class_names: dict, default: str, lines: list
4330
) -> tuple:
@@ -63,7 +50,7 @@ class will inherit from `parent_class`.
6350
parent_class = class_names.get(parent_code, default)
6451

6552
# Format class name
66-
class_name = self._format_class_name(code)
53+
class_name = code_to_class_name(code)
6754
class_names[code] = class_name
6855

6956
# If the parent class does not exist but the `code` shows some inheritance, we add a note for debugging
@@ -152,7 +139,7 @@ def generate_property_types(self) -> str:
152139
continue
153140

154141
# Format class name
155-
class_name = self._format_class_name(code)
142+
class_name = code_to_class_name(code, entity_type="property")
156143

157144
# Add class definition
158145
lines.append(f"{class_name} = PropertyTypeDef(")

0 commit comments

Comments
 (0)