Skip to content

Commit 6be8888

Browse files
[formrecognizer] Remove business card ContactNames page_number workaround (#15275)
* revert setting business card ContactNames page number now that service returns this value * remove workaround in tests
1 parent 04d33d2 commit 6be8888

9 files changed

+27
-51
lines changed

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_recognizer_client.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ class FormRecognizerClient(FormRecognizerClientBase):
6565
:caption: Creating the FormRecognizerClient with a token credential.
6666
"""
6767

68-
def _prebuilt_callback(self, raw_response, _, headers, **kwargs): # pylint: disable=unused-argument
68+
def _prebuilt_callback(self, raw_response, _, headers): # pylint: disable=unused-argument
6969
analyze_result = self._deserialize(self._generated_models.AnalyzeOperationResult, raw_response)
70-
return prepare_prebuilt_models(analyze_result, **kwargs)
70+
return prepare_prebuilt_models(analyze_result)
7171

7272
@distributed_trace
7373
def begin_recognize_receipts(self, receipt, **kwargs):
@@ -247,9 +247,7 @@ def begin_recognize_business_cards(
247247
file_stream=business_card,
248248
content_type=content_type,
249249
include_text_details=include_field_elements,
250-
cls=kwargs.pop("cls", lambda pipeline_response, _, response_headers: self._prebuilt_callback(
251-
pipeline_response, _, response_headers, business_card=True
252-
)),
250+
cls=kwargs.pop("cls", self._prebuilt_callback),
253251
polling=True,
254252
**kwargs
255253
)
@@ -298,9 +296,7 @@ def begin_recognize_business_cards_from_url(
298296
return self._client.begin_analyze_business_card_async( # type: ignore
299297
file_stream={"source": business_card_url},
300298
include_text_details=include_field_elements,
301-
cls=kwargs.pop("cls", lambda pipeline_response, _, response_headers: self._prebuilt_callback(
302-
pipeline_response, _, response_headers, business_card=True
303-
)),
299+
cls=kwargs.pop("cls", self._prebuilt_callback),
304300
polling=True,
305301
**kwargs
306302
)

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_helpers.py

-12
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,6 @@ def adjust_text_angle(text_angle):
8686
return text_angle
8787

8888

89-
def adjust_page_number(value):
90-
"""Adjusts the page number on the business card field
91-
`ContactNames` to be set to the page number value found on `FirstName`
92-
"""
93-
for val in value.value_array:
94-
if val.value_object.get("FirstName", None) and val.value_object.get("LastName", None):
95-
if val.value_object["FirstName"].page == val.value_object["LastName"].page:
96-
page_number = val.value_object["FirstName"].page
97-
val.page = page_number
98-
return value
99-
100-
10189
def get_authentication_policy(credential):
10290
authentication_policy = None
10391
if credential is None:

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py

+5-9
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from ._helpers import (
1212
adjust_value_type,
1313
adjust_confidence,
14-
adjust_page_number,
1514
get_element
1615
)
1716

@@ -36,7 +35,7 @@ def resolve_element(element, read_result):
3635
raise ValueError("Failed to parse element reference.")
3736

3837

39-
def get_field_value(field, value, read_result, **kwargs): # pylint: disable=too-many-return-statements
38+
def get_field_value(field, value, read_result): # pylint: disable=too-many-return-statements
4039
if value is None:
4140
return value
4241
if value.type == "string":
@@ -52,16 +51,13 @@ def get_field_value(field, value, read_result, **kwargs): # pylint: disable=too
5251
if value.type == "time":
5352
return value.value_time
5453
if value.type == "array":
55-
# business cards pre-built model doesn't return a page number for the `ContactNames` field
56-
if "business_card" in kwargs and field == "ContactNames":
57-
value = adjust_page_number(value)
5854
return [
59-
FormField._from_generated(field, value, read_result, **kwargs)
55+
FormField._from_generated(field, value, read_result)
6056
for value in value.value_array
6157
]
6258
if value.type == "object":
6359
return {
64-
key: FormField._from_generated(key, value, read_result, **kwargs)
60+
key: FormField._from_generated(key, value, read_result)
6561
for key, value in value.value_object.items()
6662
}
6763
if value.type == "selectionMark":
@@ -251,12 +247,12 @@ def __init__(self, **kwargs):
251247
self.confidence = kwargs.get("confidence", None)
252248

253249
@classmethod
254-
def _from_generated(cls, field, value, read_result, **kwargs):
250+
def _from_generated(cls, field, value, read_result):
255251
return cls(
256252
value_type=adjust_value_type(value.type) if value else None,
257253
label_data=None, # not returned with receipt/supervised
258254
value_data=FieldData._from_generated(value, read_result),
259-
value=get_field_value(field, value, read_result, **kwargs),
255+
value=get_field_value(field, value, read_result),
260256
name=field,
261257
confidence=adjust_confidence(value.confidence) if value else None,
262258
)

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_response_handlers.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
)
2121

2222

23-
def prepare_prebuilt_models(response, **kwargs):
23+
def prepare_prebuilt_models(response):
2424
prebuilt_models = []
2525
read_result = response.analyze_result.read_results
2626
document_result = response.analyze_result.document_results
@@ -36,7 +36,7 @@ def prepare_prebuilt_models(response, **kwargs):
3636
pages=form_page[page.page_range[0]-1:page.page_range[1]],
3737
form_type=page.doc_type,
3838
fields={
39-
key: FormField._from_generated(key, value, read_result, **kwargs)
39+
key: FormField._from_generated(key, value, read_result)
4040
for key, value in page.fields.items()
4141
} if page.fields else None,
4242
form_type_confidence=doc_type_confidence,

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_recognizer_client_async.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ class FormRecognizerClient(FormRecognizerClientBaseAsync):
6262
:caption: Creating the FormRecognizerClient with a token credential.
6363
"""
6464

65-
def _prebuilt_callback(self, raw_response, _, headers, **kwargs): # pylint: disable=unused-argument
65+
def _prebuilt_callback(self, raw_response, _, headers): # pylint: disable=unused-argument
6666
analyze_result = self._deserialize(self._generated_models.AnalyzeOperationResult, raw_response)
67-
return prepare_prebuilt_models(analyze_result, **kwargs)
67+
return prepare_prebuilt_models(analyze_result)
6868

6969
@distributed_trace_async
7070
async def begin_recognize_receipts(
@@ -250,9 +250,7 @@ async def begin_recognize_business_cards(
250250
file_stream=business_card,
251251
content_type=content_type,
252252
include_text_details=include_field_elements,
253-
cls=kwargs.pop("cls", lambda pipeline_response, _, response_headers: self._prebuilt_callback(
254-
pipeline_response, _, response_headers, business_card=True
255-
)),
253+
cls=kwargs.pop("cls", self._prebuilt_callback),
256254
polling=True,
257255
**kwargs
258256
)
@@ -299,9 +297,7 @@ async def begin_recognize_business_cards_from_url(
299297
return await self._client.begin_analyze_business_card_async( # type: ignore
300298
file_stream={"source": business_card_url},
301299
include_text_details=include_field_elements,
302-
cls=kwargs.pop("cls", lambda pipeline_response, _, response_headers: self._prebuilt_callback(
303-
pipeline_response, _, response_headers, business_card=True
304-
)),
300+
cls=kwargs.pop("cls", self._prebuilt_callback),
305301
polling=True,
306302
**kwargs
307303
)

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_business_card.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def test_business_card_stream_transform_png(self, client):
140140

141141
def callback(raw_response, _, headers):
142142
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
143-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
143+
extracted_business_card = prepare_prebuilt_models(analyze_result)
144144
responses.append(analyze_result)
145145
responses.append(extracted_business_card)
146146

@@ -177,7 +177,7 @@ def test_business_card_stream_transform_jpg(self, client):
177177

178178
def callback(raw_response, _, headers):
179179
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
180-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
180+
extracted_business_card = prepare_prebuilt_models(analyze_result)
181181
responses.append(analyze_result)
182182
responses.append(extracted_business_card)
183183

@@ -215,7 +215,7 @@ def test_business_card_stream_multipage_transform_pdf(self, client):
215215

216216
def callback(raw_response, _, headers):
217217
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
218-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
218+
extracted_business_card = prepare_prebuilt_models(analyze_result)
219219
responses.append(analyze_result)
220220
responses.append(extracted_business_card)
221221

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_business_card_async.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ async def test_business_card_stream_transform_png(self, client):
154154

155155
def callback(raw_response, _, headers):
156156
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
157-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
157+
extracted_business_card = prepare_prebuilt_models(analyze_result)
158158
responses.append(analyze_result)
159159
responses.append(extracted_business_card)
160160

@@ -191,7 +191,7 @@ async def test_business_card_stream_transform_jpg(self, client):
191191

192192
def callback(raw_response, _, headers):
193193
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
194-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
194+
extracted_business_card = prepare_prebuilt_models(analyze_result)
195195
responses.append(analyze_result)
196196
responses.append(extracted_business_card)
197197

@@ -230,7 +230,7 @@ async def test_business_card_stream_multipage_transform_pdf(self, client):
230230

231231
def callback(raw_response, _, headers):
232232
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
233-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
233+
extracted_business_card = prepare_prebuilt_models(analyze_result)
234234
responses.append(analyze_result)
235235
responses.append(extracted_business_card)
236236

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_business_card_from_url.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def test_business_card_url_transform_png(self, client):
8080

8181
def callback(raw_response, _, headers):
8282
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
83-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
83+
extracted_business_card = prepare_prebuilt_models(analyze_result)
8484
responses.append(analyze_result)
8585
responses.append(extracted_business_card)
8686

@@ -114,7 +114,7 @@ def test_business_card_url_transform_jpg(self, client):
114114

115115
def callback(raw_response, _, headers):
116116
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
117-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
117+
extracted_business_card = prepare_prebuilt_models(analyze_result)
118118
responses.append(analyze_result)
119119
responses.append(extracted_business_card)
120120

@@ -149,7 +149,7 @@ def test_business_card_url_multipage_transform_pdf(self, client):
149149

150150
def callback(raw_response, _, headers):
151151
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
152-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
152+
extracted_business_card = prepare_prebuilt_models(analyze_result)
153153
responses.append(analyze_result)
154154
responses.append(extracted_business_card)
155155

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_business_card_from_url_async.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ async def test_business_card_url_transform_png(self, client):
8989

9090
def callback(raw_response, _, headers):
9191
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
92-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
92+
extracted_business_card = prepare_prebuilt_models(analyze_result)
9393
responses.append(analyze_result)
9494
responses.append(extracted_business_card)
9595

@@ -124,7 +124,7 @@ async def test_business_card_url_transform_jpg(self, client):
124124

125125
def callback(raw_response, _, headers):
126126
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
127-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
127+
extracted_business_card = prepare_prebuilt_models(analyze_result)
128128
responses.append(analyze_result)
129129
responses.append(extracted_business_card)
130130

@@ -160,7 +160,7 @@ async def test_business_card_url_multipage_transform_pdf(self, client):
160160

161161
def callback(raw_response, _, headers):
162162
analyze_result = client._deserialize(AnalyzeOperationResult, raw_response)
163-
extracted_business_card = prepare_prebuilt_models(analyze_result, business_card=True)
163+
extracted_business_card = prepare_prebuilt_models(analyze_result)
164164
responses.append(analyze_result)
165165
responses.append(extracted_business_card)
166166

0 commit comments

Comments
 (0)