Skip to content

Commit 30bea43

Browse files
committed
try again
1 parent a92ca0c commit 30bea43

File tree

4 files changed

+32
-26
lines changed

4 files changed

+32
-26
lines changed

mindee/parsing/v2/dynamic_field.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
from enum import Enum
22

3-
from mindee.error import MindeeApiV2Error
4-
from mindee.parsing import v2
5-
from mindee.parsing.common.string_dict import StringDict
6-
73

84
class FieldType(str, Enum):
95
"""Field types."""
@@ -28,22 +24,3 @@ def __init__(self, field_type: FieldType, indent_level=0) -> None:
2824
def multi_str(self) -> str:
2925
"""String representation of the field in a list."""
3026
return str(self)
31-
32-
33-
def get_field_type(raw_response: StringDict, indent_level: int = 0) -> DynamicField:
34-
"""Get appropriate field types."""
35-
if isinstance(raw_response, dict):
36-
if "value" in raw_response:
37-
field_file = getattr(v2, "simple_field")
38-
field_class = getattr(field_file, FieldType.SIMPLE.value)
39-
elif "items" in raw_response:
40-
field_file = getattr(v2, "list_field")
41-
field_class = getattr(field_file, FieldType.LIST.value)
42-
elif "fields" in raw_response:
43-
field_file = getattr(v2, "object_field")
44-
field_class = getattr(field_file, FieldType.OBJECT.value)
45-
else:
46-
raise MindeeApiV2Error(f"Unrecognized field format in {raw_response}.")
47-
return field_class(raw_response, indent_level)
48-
49-
raise MindeeApiV2Error(f"Unrecognized field format {raw_response}.")

mindee/parsing/v2/get_field_type.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from importlib import import_module
2+
3+
from mindee.error import MindeeApiV2Error
4+
from mindee.parsing.common.string_dict import StringDict
5+
from mindee.parsing.v2.dynamic_field import DynamicField, FieldType
6+
7+
8+
def get_field_type(raw_response: StringDict, indent_level: int = 0) -> DynamicField:
9+
"""Get appropriate field types."""
10+
if isinstance(raw_response, dict):
11+
if "value" in raw_response:
12+
field_file = import_module("mindee.parsing.v2.simple_field")
13+
# field_file = getattr(v2, "simple_field")
14+
field_class = getattr(field_file, FieldType.SIMPLE.value)
15+
elif "items" in raw_response:
16+
field_file = import_module("mindee.parsing.v2.list_field")
17+
# field_file = getattr(v2, "list_field")
18+
field_class = getattr(field_file, FieldType.LIST.value)
19+
elif "fields" in raw_response:
20+
field_file = import_module("mindee.parsing.v2.object_field")
21+
# field_file = getattr(v2, "object_field")
22+
field_class = getattr(field_file, FieldType.OBJECT.value)
23+
else:
24+
raise MindeeApiV2Error(f"Unrecognized field format in {raw_response}.")
25+
return field_class(raw_response, indent_level)
26+
27+
raise MindeeApiV2Error(f"Unrecognized field format {raw_response}.")

mindee/parsing/v2/inference_result_fields.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from typing import Dict
22

33
from mindee.parsing.common.string_dict import StringDict
4-
from mindee.parsing.v2.dynamic_field import DynamicField, get_field_type
4+
from mindee.parsing.v2.dynamic_field import DynamicField, FieldType
5+
from mindee.parsing.v2.get_field_type import get_field_type
56

67

78
class InferenceResultFields(Dict[str, DynamicField]):
@@ -22,7 +23,7 @@ def __getattr__(self, item):
2223
def __str__(self) -> str:
2324
str_fields = ""
2425
for field_key, field_value in self.items():
25-
if field_value.field_type == "SimpleField":
26+
if field_value.field_type == FieldType.SIMPLE:
2627
str_fields += f"\n:{field_key}: {field_value}"
2728
else:
2829
str_fields += f"\n:{field_key}:{field_value}"

mindee/parsing/v2/list_field.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from typing import List
22

33
from mindee.parsing.common.string_dict import StringDict
4-
from mindee.parsing.v2.dynamic_field import DynamicField, FieldType, get_field_type
4+
from mindee.parsing.v2.dynamic_field import DynamicField, FieldType
5+
from mindee.parsing.v2.get_field_type import get_field_type
56

67

78
class ListField(DynamicField):

0 commit comments

Comments
 (0)