Skip to content

Commit 47532c3

Browse files
♻️ add missing text_context active option return param
1 parent 95352c5 commit 47532c3

File tree

4 files changed

+33
-1
lines changed

4 files changed

+33
-1
lines changed

mindee/parsing/v2/inference_active_options.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,22 @@ class InferenceActiveOptions:
55
"""Active options for the inference."""
66

77
raw_text: bool
8+
"""Whether raw text extraction is active or not."""
89
polygon: bool
10+
"""Whether polygon extraction is active or not."""
911
confidence: bool
12+
"""Whether confidence scores are active or not."""
1013
rag: bool
14+
"""Whether RAG is active or not."""
15+
text_context: bool
16+
"""Whether text context is active or not."""
1117

1218
def __init__(self, raw_response: StringDict):
1319
self.raw_text = raw_response["raw_text"]
1420
self.polygon = raw_response["polygon"]
1521
self.confidence = raw_response["confidence"]
1622
self.rag = raw_response["rag"]
23+
self.text_context = raw_response["text_context"]
1724

1825
def __str__(self) -> str:
1926
return (

tests/v2/parsing/test_inference_response.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import pytest
66

77
from mindee import InferenceResponse
8+
from mindee.parsing.v2 import InferenceActiveOptions
89
from mindee.parsing.v2.field import FieldConfidence, ListField, ObjectField, SimpleField
910
from mindee.parsing.v2.field.inference_fields import InferenceFields
1011
from mindee.parsing.v2.inference import Inference
@@ -298,3 +299,20 @@ def test_field_locations_and_confidence() -> None:
298299
assert date_field.confidence > FieldConfidence.LOW
299300
assert date_field.confidence <= FieldConfidence.HIGH
300301
assert date_field.confidence < FieldConfidence.HIGH
302+
303+
304+
@pytest.mark.v2
305+
def test_text_context_field_is_false() -> None:
306+
json_sample, _ = _get_product_samples("financial_document", "complete")
307+
inference_result = InferenceResponse(json_sample)
308+
assert isinstance(inference_result.inference.active_options, InferenceActiveOptions)
309+
assert inference_result.inference.active_options.text_context is False
310+
311+
312+
@pytest.mark.v2
313+
def test_text_context_field_is_true() -> None:
314+
with open(V2_DATA_DIR / "inference" / "text_context_enabled.json", "r") as file:
315+
json_sample = json.load(file)
316+
inference_result = InferenceResponse(json_sample)
317+
assert isinstance(inference_result.inference.active_options, InferenceActiveOptions)
318+
assert inference_result.inference.active_options.text_context is True

tests/v2/test_client_integration.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from mindee import ClientV2, InferenceParameters, PathInput, UrlInputSource
77
from mindee.error.mindee_http_error_v2 import MindeeHTTPErrorV2
8+
from mindee.parsing.v2 import InferenceActiveOptions
89
from mindee.parsing.v2.inference_response import InferenceResponse
910
from tests.utils import FILE_TYPES_DIR, V2_PRODUCT_DATA_DIR
1011

@@ -59,11 +60,13 @@ def test_parse_file_empty_multiple_pages_must_succeed(
5960
assert response.inference.model is not None
6061
assert response.inference.model.id == findoc_model_id
6162

63+
assert isinstance(response.inference.active_options, InferenceActiveOptions)
6264
assert response.inference.active_options is not None
6365
assert response.inference.active_options.rag is False
6466
assert response.inference.active_options.raw_text is True
6567
assert response.inference.active_options.polygon is False
6668
assert response.inference.active_options.confidence is False
69+
assert response.inference.active_options.text_context is False
6770

6871
assert response.inference.result is not None
6972

@@ -103,11 +106,13 @@ def test_parse_file_empty_single_page_options_must_succeed(
103106
assert response.inference.file.name == "blank_1.pdf"
104107
assert response.inference.file.page_count == 1
105108

109+
assert isinstance(response.inference.active_options, InferenceActiveOptions)
106110
assert response.inference.active_options is not None
107111
assert response.inference.active_options.rag is True
108112
assert response.inference.active_options.raw_text is True
109113
assert response.inference.active_options.polygon is True
110114
assert response.inference.active_options.confidence is True
115+
assert response.inference.active_options.text_context is False
111116

112117
assert response.inference.result is not None
113118

@@ -148,11 +153,13 @@ def test_parse_file_filled_single_page_must_succeed(
148153
assert response.inference.model is not None
149154
assert response.inference.model.id == findoc_model_id
150155

156+
assert isinstance(response.inference.active_options, InferenceActiveOptions)
151157
assert response.inference.active_options is not None
152158
assert response.inference.active_options.rag is False
153159
assert response.inference.active_options.raw_text is False
154160
assert response.inference.active_options.polygon is False
155161
assert response.inference.active_options.confidence is False
162+
assert response.inference.active_options.text_context is True
156163

157164
assert response.inference.result.raw_text is None
158165

0 commit comments

Comments
 (0)