Skip to content

Commit d3e3103

Browse files
♻️ refactor v2 internals into field submodule
1 parent 702f800 commit d3e3103

14 files changed

Lines changed: 33 additions & 23 deletions

mindee/client_v2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
is_valid_get_response,
1515
is_valid_post_response,
1616
)
17-
from mindee.parsing.v2.common_response import CommonStatus
17+
from mindee.parsing.v2.field.common_response import CommonStatus
1818
from mindee.parsing.v2.inference_response import InferenceResponse
1919
from mindee.parsing.v2.job_response import JobResponse
2020

mindee/input/local_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from typing import Any, BinaryIO, Dict, Type, TypeVar, Union
88

99
from mindee.error.mindee_error import MindeeError
10-
from mindee.parsing.v2.common_response import CommonResponse
10+
from mindee.parsing.v2.field.common_response import CommonResponse
1111

1212

1313
class LocalResponse:

mindee/parsing/v2/field/__init__.py

Whitespace-only changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import List, Optional
22

3-
from mindee.parsing.v2.dynamic_field import DynamicField
3+
from mindee.parsing.v2.field.dynamic_field import DynamicField
44

55

66
class BaseField(DynamicField):
File renamed without changes.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ def get_field_type(raw_response: StringDict, indent_level: int = 0) -> DynamicFi
3434
"""Get appropriate field types."""
3535
if isinstance(raw_response, dict):
3636
if "value" in raw_response:
37-
field_file = import_module("mindee.parsing.v2.simple_field")
37+
field_file = import_module("mindee.parsing.v2.field.simple_field")
3838
field_class = getattr(field_file, FieldType.SIMPLE.value)
3939
elif "items" in raw_response:
40-
field_file = import_module("mindee.parsing.v2.list_field")
40+
field_file = import_module("mindee.parsing.v2.field.list_field")
4141
field_class = getattr(field_file, FieldType.LIST.value)
4242
elif "fields" in raw_response:
43-
field_file = import_module("mindee.parsing.v2.object_field")
43+
field_file = import_module("mindee.parsing.v2.field.object_field")
4444
field_class = getattr(field_file, FieldType.OBJECT.value)
4545
else:
4646
raise MindeeApiV2Error(f"Unrecognized field format in {raw_response}.")

mindee/parsing/v2/inference_result_fields.py renamed to mindee/parsing/v2/field/inference_result_fields.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
from typing import Dict
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.field.dynamic_field import (
5+
DynamicField,
6+
FieldType,
7+
get_field_type,
8+
)
59

610

711
class InferenceResultFields(Dict[str, DynamicField]):
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
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.field.dynamic_field import (
5+
DynamicField,
6+
FieldType,
7+
get_field_type,
8+
)
59

610

711
class ListField(DynamicField):
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from mindee.parsing.common.string_dict import StringDict
2-
from mindee.parsing.v2.base_field import BaseField
3-
from mindee.parsing.v2.dynamic_field import FieldType
4-
from mindee.parsing.v2.inference_result_fields import InferenceResultFields
2+
from mindee.parsing.v2.field.base_field import BaseField
3+
from mindee.parsing.v2.field.dynamic_field import FieldType
4+
from mindee.parsing.v2.field.inference_result_fields import InferenceResultFields
55

66

77
class ObjectField(BaseField):
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from typing import Union
22

33
from mindee.parsing.common.string_dict import StringDict
4-
from mindee.parsing.v2.base_field import BaseField
5-
from mindee.parsing.v2.dynamic_field import FieldType
4+
from mindee.parsing.v2.field.base_field import BaseField
5+
from mindee.parsing.v2.field.dynamic_field import FieldType
66

77

88
class SimpleField(BaseField):
@@ -12,11 +12,13 @@ class SimpleField(BaseField):
1212

1313
def __init__(self, raw_response: StringDict, indent_level: int = 0):
1414
super().__init__(FieldType.SIMPLE, indent_level)
15-
self.value = raw_response["value"] = raw_response.get("value", None)
15+
value = raw_response.get("value", None)
16+
if isinstance(value, int) and not isinstance(raw_response.get("value"), bool):
17+
self.value = float(value)
18+
else:
19+
self.value = value
1620

1721
def __str__(self) -> str:
18-
if type(self.value) is int:
19-
return str(f"{self.value}.0")
20-
if type(self.value) is bool:
22+
if isinstance(self.value, bool):
2123
return "True" if self.value else "False"
2224
return str(self.value if self.value is not None else "")

0 commit comments

Comments
 (0)