Skip to content

Commit 0d9b87b

Browse files
committed
Fix: Validation error for Entity.label
list elements of type Label were being passed to Label(), causing validation errors
1 parent f8959d2 commit 0d9b87b

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/osw/model/entity.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,22 @@ class Entity(OswBaseModel):
104104

105105
def __init__(self, **data):
106106
if data.get("label"):
107+
if not isinstance(data["label"], list):
108+
raise ValueError(
109+
"label must be a list of Label objects",
110+
)
107111
labels = []
108112
for label in data["label"]:
109113
if isinstance(label, dict):
110-
data["label"] = labels.append(Label(**label))
114+
labels.append(Label(**label))
111115
else:
112-
labels.append(Label(text=label))
116+
# The list element should be a Label object
117+
labels.append(label)
113118
data["label"] = labels
119+
if not all(isinstance(label, Label) for label in data["label"]):
120+
raise ValueError(
121+
"label must be a list of Label objects",
122+
)
114123
if data.get("name") is None and "label" in data:
115124
data["name"] = pascal_case(data["label"][0].text)
116125
super().__init__(**data)

0 commit comments

Comments
 (0)