Skip to content

Commit 14dd6b3

Browse files
committed
Refactoring of type check to LangStringSet
1 parent aa532f3 commit 14dd6b3

File tree

1 file changed

+11
-21
lines changed

1 file changed

+11
-21
lines changed

sdk/basyx/aas/model/base.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,9 @@ class LangStringSet(MutableMapping[str, str]):
291291
"""
292292
def __init__(self, dict_: Dict[str, str]):
293293
self._dict: Dict[str, str] = {}
294-
294+
295+
if not isinstance(dict_, dict):
296+
raise TypeError(f"A {self.__class__.__name__} must be initialized with a dict!, got {type(dict_)}")
295297
if len(dict_) < 1:
296298
raise ValueError(f"A {self.__class__.__name__} must not be empty!")
297299
for ltag in dict_:
@@ -827,38 +829,26 @@ def _set_id_short(self, id_short: Optional[NameType]):
827829
# Redundant to the line above. However, this way, we make sure that we really update the _id_short
828830
self._id_short = id_short
829831

830-
def _check_multiLanguageNameType(self, value: Optional[MultiLanguageNameType]) -> None:
831-
"""Ensure value is None or a MultiLanguageNameType."""
832-
if value is not None and not isinstance(value, MultiLanguageNameType):
833-
raise TypeError(
834-
f"display_name must be of type MultiLanguageNameType, but got {type(value)}"
835-
)
836-
837832
@property
838-
def display_name(self) -> Optional[MultiLanguageNameType]:
833+
def display_name(self) -> MultiLanguageNameType | None:
839834
"""Display name of the element (MultiLanguageNameType)."""
840835
return self._display_name
841836

842837
@display_name.setter
843-
def display_name(self, value: Optional[MultiLanguageNameType]) -> None:
844-
self._check_multiLanguageNameType(value)
838+
def display_name(self, value: MultiLanguageNameType | None) -> None:
839+
if value is not None and not isinstance(value, MultiLanguageNameType):
840+
value = MultiLanguageNameType(value)
845841
self._display_name = value
846842

847-
def _check_MultiLanguageTextType(self, value: Optional[MultiLanguageTextType]) -> None:
848-
"""Ensure value is None or a MultiLanguageTextType."""
849-
if value is not None and not isinstance(value, MultiLanguageTextType):
850-
raise TypeError(
851-
f"description must be of type MultiLanguageTextType, but got {type(value)}"
852-
)
853-
854843
@property
855-
def description(self) -> Optional[MultiLanguageTextType]:
844+
def description(self) -> MultiLanguageTextType | None:
856845
"""Description of the element (MultiLanguageTextType)."""
857846
return self._description
858847

859848
@description.setter
860-
def description(self, value: Optional[MultiLanguageTextType]) -> None:
861-
self._check_MultiLanguageTextType(value)
849+
def description(self, value: MultiLanguageTextType | None) -> None:
850+
if value is not None and not isinstance(value, MultiLanguageTextType):
851+
value = MultiLanguageTextType(value)
862852
self._description = value
863853

864854
def update_from(self, other: "Referable"):

0 commit comments

Comments
 (0)