Skip to content

Commit c82ef49

Browse files
♻️ fix str representation of V2 objects
1 parent 4845e62 commit c82ef49

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

mindee/parsing/v2/base_field.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class InferenceFields(Dict[str, Union["SimpleField", "ObjectField", "ListField"]
3434

3535
def __init__(self, raw_response: StringDict, indent_level: int = 0) -> None:
3636
super().__init__()
37+
self._indent_level = indent_level
3738
for key, value in raw_response.items():
3839
field_obj = BaseField.create_field(value, indent_level)
3940
self[key] = field_obj
@@ -45,10 +46,23 @@ def __getattr__(self, item):
4546
raise AttributeError(item) from None
4647

4748
def __str__(self) -> str:
48-
str_fields = ""
49+
out_str = ""
4950
for field_key, field_value in self.items():
50-
str_fields += f":{field_key}: {field_value}"
51-
return str_fields
51+
if isinstance(field_value, ListField):
52+
value_str = " " * self._indent_level
53+
if len(field_value.items) > 0:
54+
value_str = (
55+
" " * self._indent_level + str(field_value)
56+
if field_value
57+
else ""
58+
)
59+
out_str += f"{' ' * self._indent_level}:{field_key}: {value_str}"
60+
elif isinstance(field_value, ObjectField):
61+
out_str += f"{' ' * self._indent_level}:{field_key}: {field_value}"
62+
else:
63+
out_str += f"{' ' * self._indent_level}:{field_key}: {field_value if field_value else ''}"
64+
out_str += "\n"
65+
return out_str.rstrip()
5266

5367

5468
class ListField(BaseField):
@@ -87,20 +101,7 @@ def __init__(self, raw_response: StringDict, indent_level: int = 0):
87101
self.fields = InferenceFields(inner_fields, self._indent_level + 1)
88102

89103
def __str__(self) -> str:
90-
out_str = ""
91-
for field_key, field_value in self.fields.items():
92-
if isinstance(field_value, ListField):
93-
value_str = ""
94-
if len(field_value.items) > 0:
95-
value_str = (
96-
" " * self._indent_level + str(field_value)
97-
if field_value
98-
else ""
99-
)
100-
out_str += f"{' ' * self._indent_level}:{field_key}: {value_str}"
101-
else:
102-
out_str += f"{' ' * self._indent_level}:{field_key}: {field_value if field_value else ''}"
103-
return out_str
104+
return f"\n{self.fields}"
104105

105106

106107
class SimpleField(BaseField):
@@ -113,4 +114,4 @@ def __init__(self, raw_response: StringDict, indent_level: int = 0):
113114
self.value = raw_response["value"] = raw_response.get("value", None)
114115

115116
def __str__(self) -> str:
116-
return f"{self.value}\n" if self.value else "\n"
117+
return f"{self.value}" if self.value else ""

mindee/parsing/v2/inference.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def __str__(self) -> str:
2929
f"Inference\n"
3030
f"#########\n"
3131
f":Model: {self.model.id}\n"
32-
f":File: {self.file}\n"
32+
f":File:\n"
3333
f" :Name: {self.file.name}\n"
3434
f" :Alias: {self.file.alias}\n\n"
3535
f"Result\n"

tests/test_code_samples.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ API_KEY=$3
88
API_KEY_V2=$4
99
MODEL_ID=$5
1010

11-
for f in $(find ./docs/extras/code_samples -maxdepth 1 -name "*.txt" -not -name "workflow_*.txt" | sort -h)
11+
for f in $(find ./docs/extras/code_samples -maxdepth 1 -name "default_v2.txt" -not -name "workflow_*.txt" | sort -h)
1212
do
1313
if echo "${f}" | grep -q "default_v2.txt"; then
1414
if [ -z "${API_KEY_V2}" ] || [ -z "${MODEL_ID}" ]; then

0 commit comments

Comments
 (0)