From 3c8e514b47801c3cbae1b74a0cbfd876ea9fcf78 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Thu, 30 May 2019 13:39:07 -0700 Subject: [PATCH 1/2] [AutoPR cognitiveservices/data-plane/FormRecognizer] FormRecognizerReceipt - Initial Commit. (#5549) * Generated from e83304ca02daaa49b438165ebbe0a9105dbd85ab adding description for understandingResult * Generated from f2a1c7253e4b39c0eb1bbd59636b1decf90d9f57 fixing typo --- .../formrecognizer/form_recognizer_client.py | 172 +++++++++++++++++- .../formrecognizer/models/__init__.py | 41 +++++ .../models/computer_vision_error.py | 57 ++++++ .../models/computer_vision_error_py3.py | 57 ++++++ .../models/element_reference.py | 28 +++ .../models/element_reference_py3.py | 28 +++ .../formrecognizer/models/field_value.py | 51 ++++++ .../formrecognizer/models/field_value_py3.py | 51 ++++++ .../models/form_recognizer_client_enums.py | 32 ++++ .../formrecognizer/models/image_url.py | 34 ++++ .../formrecognizer/models/image_url_py3.py | 34 ++++ .../formrecognizer/models/line.py | 36 ++++ .../formrecognizer/models/line_py3.py | 36 ++++ .../formrecognizer/models/number_value.py | 46 +++++ .../formrecognizer/models/number_value_py3.py | 46 +++++ .../models/read_receipt_result.py | 42 +++++ .../models/read_receipt_result_py3.py | 42 +++++ .../formrecognizer/models/string_value.py | 46 +++++ .../formrecognizer/models/string_value_py3.py | 46 +++++ .../models/text_recognition_result.py | 58 ++++++ .../models/text_recognition_result_py3.py | 58 ++++++ .../models/understanding_result.py | 34 ++++ .../models/understanding_result_py3.py | 34 ++++ .../formrecognizer/models/word.py | 45 +++++ .../formrecognizer/models/word_py3.py | 45 +++++ .../formrecognizer/version.py | 2 +- 26 files changed, 1199 insertions(+), 2 deletions(-) create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/form_recognizer_client_enums.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result_py3.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word_py3.py diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py index cc24b2f0ccf6..22db48af28ea 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py @@ -47,7 +47,7 @@ def __init__( class FormRecognizerClient(SDKClient): - """Extracts information from forms and images into structured data based on a model created by a set of representative training forms. + """FormRecognizerClient :ivar config: Configuration for client. :vartype config: FormRecognizerClientConfiguration @@ -421,3 +421,173 @@ def analyze_with_custom_model( return deserialized analyze_with_custom_model.metadata = {'url': '/custom/models/{id}/analyze'} + + def batch_read_receipt( + self, url, custom_headers=None, raw=False, **operation_config): + """Batch Read Receipt operation. The response contains a field called + 'Operation-Location', which contains the URL that you must use for your + 'Get Read Receipt Result' operation. + + :param url: Publicly reachable URL of an image. + :type url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ComputerVisionErrorException` + """ + image_url = models.ImageUrl(url=url) + + # Construct URL + url = self.batch_read_receipt.metadata['url'] + path_format_arguments = { + 'Endpoint': self._serialize.url("self.config.endpoint", self.config.endpoint, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if custom_headers: + header_parameters.update(custom_headers) + + # Construct body + body_content = self._serialize.body(image_url, 'ImageUrl') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202]: + raise models.ComputerVisionErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Operation-Location': 'str', + }) + return client_raw_response + batch_read_receipt.metadata = {'url': '/prebuilt/receipt/asyncBatchAnalyze'} + + def get_read_receipt_result( + self, operation_id, custom_headers=None, raw=False, **operation_config): + """This interface is used for getting the analysis results of a 'Batch + Read Receipt' operation. The URL to this interface should be retrieved + from the 'Operation-Location' field returned from the 'Batch Read + Receipt' operation. + + :param operation_id: Id of read operation returned in the response of + a 'Batch Read Receipt' operation. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ReadReceiptResult or ClientRawResponse if raw=true + :rtype: + ~azure.cognitiveservices.formrecognizer.models.ReadReceiptResult or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ComputerVisionErrorException` + """ + # Construct URL + url = self.get_read_receipt_result.metadata['url'] + path_format_arguments = { + 'Endpoint': self._serialize.url("self.config.endpoint", self.config.endpoint, 'str', skip_quote=True), + 'operationId': self._serialize.url("operation_id", operation_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if custom_headers: + header_parameters.update(custom_headers) + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ComputerVisionErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ReadReceiptResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_read_receipt_result.metadata = {'url': '/prebuilt/receipt/operations/{operationId}'} + + def batch_read_receipt_in_stream( + self, image, custom_headers=None, raw=False, callback=None, **operation_config): + """Read Receipt operation. When you use the 'Batch Read Receipt' + interface, the response contains a field called 'Operation-Location'. + The 'Operation-Location' field contains the URL that you must use for + your 'Get Read Receipt Result' operation. + + :param image: An image stream. + :type image: Generator + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ComputerVisionErrorException` + """ + # Construct URL + url = self.batch_read_receipt_in_stream.metadata['url'] + path_format_arguments = { + 'Endpoint': self._serialize.url("self.config.endpoint", self.config.endpoint, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + if custom_headers: + header_parameters.update(custom_headers) + + # Construct body + body_content = self._client.stream_upload(image, callback) + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202]: + raise models.ComputerVisionErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Operation-Location': 'str', + }) + return client_raw_response + batch_read_receipt_in_stream.metadata = {'url': '/prebuilt/receipt/asyncBatchAnalyze'} diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py index 0c3013f53f9b..dd715045ff1b 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py @@ -26,6 +26,17 @@ from .extracted_table_py3 import ExtractedTable from .extracted_page_py3 import ExtractedPage from .analyze_result_py3 import AnalyzeResult + from .word_py3 import Word + from .line_py3 import Line + from .text_recognition_result_py3 import TextRecognitionResult + from .element_reference_py3 import ElementReference + from .field_value_py3 import FieldValue + from .understanding_result_py3 import UnderstandingResult + from .read_receipt_result_py3 import ReadReceiptResult + from .string_value_py3 import StringValue + from .number_value_py3 import NumberValue + from .computer_vision_error_py3 import ComputerVisionError, ComputerVisionErrorException + from .image_url_py3 import ImageUrl except (SyntaxError, ImportError): from .train_request import TrainRequest from .form_document_report import FormDocumentReport @@ -43,6 +54,22 @@ from .extracted_table import ExtractedTable from .extracted_page import ExtractedPage from .analyze_result import AnalyzeResult + from .word import Word + from .line import Line + from .text_recognition_result import TextRecognitionResult + from .element_reference import ElementReference + from .field_value import FieldValue + from .understanding_result import UnderstandingResult + from .read_receipt_result import ReadReceiptResult + from .string_value import StringValue + from .number_value import NumberValue + from .computer_vision_error import ComputerVisionError, ComputerVisionErrorException + from .image_url import ImageUrl +from .form_recognizer_client_enums import ( + TextOperationStatusCodes, + TextRecognitionResultDimensionUnit, + TextRecognitionResultConfidenceClass, +) __all__ = [ 'TrainRequest', @@ -61,4 +88,18 @@ 'ExtractedTable', 'ExtractedPage', 'AnalyzeResult', + 'Word', + 'Line', + 'TextRecognitionResult', + 'ElementReference', + 'FieldValue', + 'UnderstandingResult', + 'ReadReceiptResult', + 'StringValue', + 'NumberValue', + 'ComputerVisionError', 'ComputerVisionErrorException', + 'ImageUrl', + 'TextOperationStatusCodes', + 'TextRecognitionResultDimensionUnit', + 'TextRecognitionResultConfidenceClass', ] diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error.py new file mode 100644 index 000000000000..e4e306b6746b --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ComputerVisionError(Model): + """Details about the API request error. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: object + :param message: Required. A message explaining the error reported by the + service. + :type message: str + :param request_id: A unique request identifier. + :type request_id: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'object'}, + 'message': {'key': 'message', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComputerVisionError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.request_id = kwargs.get('request_id', None) + + +class ComputerVisionErrorException(HttpOperationError): + """Server responsed with exception of type: 'ComputerVisionError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ComputerVisionErrorException, self).__init__(deserialize, response, 'ComputerVisionError', *args) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error_py3.py new file mode 100644 index 000000000000..dc1595d71756 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/computer_vision_error_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ComputerVisionError(Model): + """Details about the API request error. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: object + :param message: Required. A message explaining the error reported by the + service. + :type message: str + :param request_id: A unique request identifier. + :type request_id: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'object'}, + 'message': {'key': 'message', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + } + + def __init__(self, *, code, message: str, request_id: str=None, **kwargs) -> None: + super(ComputerVisionError, self).__init__(**kwargs) + self.code = code + self.message = message + self.request_id = request_id + + +class ComputerVisionErrorException(HttpOperationError): + """Server responsed with exception of type: 'ComputerVisionError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ComputerVisionErrorException, self).__init__(deserialize, response, 'ComputerVisionError', *args) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference.py new file mode 100644 index 000000000000..f0fc76a52e33 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElementReference(Model): + """Reference to an OCR word. + + :param ref: + :type ref: str + """ + + _attribute_map = { + 'ref': {'key': '$ref', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ElementReference, self).__init__(**kwargs) + self.ref = kwargs.get('ref', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference_py3.py new file mode 100644 index 000000000000..43d8fd9d21d5 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/element_reference_py3.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElementReference(Model): + """Reference to an OCR word. + + :param ref: + :type ref: str + """ + + _attribute_map = { + 'ref': {'key': '$ref', 'type': 'str'}, + } + + def __init__(self, *, ref: str=None, **kwargs) -> None: + super(ElementReference, self).__init__(**kwargs) + self.ref = ref diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value.py new file mode 100644 index 000000000000..129009e460fb --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FieldValue(Model): + """Base class representing a recognized field value. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StringValue, NumberValue + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + } + + _subtype_map = { + 'value_type': {'stringValue': 'StringValue', 'numberValue': 'NumberValue'} + } + + def __init__(self, **kwargs): + super(FieldValue, self).__init__(**kwargs) + self.text = kwargs.get('text', None) + self.elements = kwargs.get('elements', None) + self.value_type = None diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value_py3.py new file mode 100644 index 000000000000..90519e7477da --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/field_value_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FieldValue(Model): + """Base class representing a recognized field value. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StringValue, NumberValue + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + } + + _subtype_map = { + 'value_type': {'stringValue': 'StringValue', 'numberValue': 'NumberValue'} + } + + def __init__(self, *, text: str=None, elements=None, **kwargs) -> None: + super(FieldValue, self).__init__(**kwargs) + self.text = text + self.elements = elements + self.value_type = None diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/form_recognizer_client_enums.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/form_recognizer_client_enums.py new file mode 100644 index 000000000000..f636ee1202bd --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/form_recognizer_client_enums.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class TextOperationStatusCodes(str, Enum): + + not_started = "Not Started" + running = "Running" + failed = "Failed" + succeeded = "Succeeded" + + +class TextRecognitionResultDimensionUnit(str, Enum): + + pixel = "pixel" + inch = "inch" + + +class TextRecognitionResultConfidenceClass(str, Enum): + + high = "High" + low = "Low" diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url.py new file mode 100644 index 000000000000..ba0ea688201d --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ImageUrl(Model): + """ImageUrl. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. Publicly reachable URL of an image. + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ImageUrl, self).__init__(**kwargs) + self.url = kwargs.get('url', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url_py3.py new file mode 100644 index 000000000000..5099ce3db915 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/image_url_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ImageUrl(Model): + """ImageUrl. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. Publicly reachable URL of an image. + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str, **kwargs) -> None: + super(ImageUrl, self).__init__(**kwargs) + self.url = url diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line.py new file mode 100644 index 000000000000..ae4601f4f3d1 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Line(Model): + """An object representing a recognized text line. + + :param bounding_box: Bounding box of a recognized line. + :type bounding_box: list[int] + :param text: The text content of the line. + :type text: str + :param words: List of words in the text line. + :type words: list[~azure.cognitiveservices.formrecognizer.models.Word] + """ + + _attribute_map = { + 'bounding_box': {'key': 'boundingBox', 'type': '[int]'}, + 'text': {'key': 'text', 'type': 'str'}, + 'words': {'key': 'words', 'type': '[Word]'}, + } + + def __init__(self, **kwargs): + super(Line, self).__init__(**kwargs) + self.bounding_box = kwargs.get('bounding_box', None) + self.text = kwargs.get('text', None) + self.words = kwargs.get('words', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line_py3.py new file mode 100644 index 000000000000..e126cb9b3b95 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/line_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Line(Model): + """An object representing a recognized text line. + + :param bounding_box: Bounding box of a recognized line. + :type bounding_box: list[int] + :param text: The text content of the line. + :type text: str + :param words: List of words in the text line. + :type words: list[~azure.cognitiveservices.formrecognizer.models.Word] + """ + + _attribute_map = { + 'bounding_box': {'key': 'boundingBox', 'type': '[int]'}, + 'text': {'key': 'text', 'type': 'str'}, + 'words': {'key': 'words', 'type': '[Word]'}, + } + + def __init__(self, *, bounding_box=None, text: str=None, words=None, **kwargs) -> None: + super(Line, self).__init__(**kwargs) + self.bounding_box = bounding_box + self.text = text + self.words = words diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value.py new file mode 100644 index 000000000000..0a0564ca4c01 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .field_value import FieldValue + + +class NumberValue(FieldValue): + """Recognized numeric field value. + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + :param value: Numeric value of the recognized field. + :type value: float + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(NumberValue, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.value_type = 'numberValue' diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value_py3.py new file mode 100644 index 000000000000..b50540030004 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/number_value_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .field_value_py3 import FieldValue + + +class NumberValue(FieldValue): + """Recognized numeric field value. + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + :param value: Numeric value of the recognized field. + :type value: float + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, *, text: str=None, elements=None, value: float=None, **kwargs) -> None: + super(NumberValue, self).__init__(text=text, elements=elements, **kwargs) + self.value = value + self.value_type = 'numberValue' diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result.py new file mode 100644 index 000000000000..26caf3f82711 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ReadReceiptResult(Model): + """Analysis result of the 'Batch Read Receipt' operation. + + :param status: Status of the read operation. Possible values include: 'Not + Started', 'Running', 'Failed', 'Succeeded' + :type status: str or + ~azure.cognitiveservices.formrecognizer.models.TextOperationStatusCodes + :param recognition_results: Text recognition result of the 'Batch Read + Receipt' operation. + :type recognition_results: + list[~azure.cognitiveservices.formrecognizer.models.TextRecognitionResult] + :param understanding_results: Semantic understanding result of the 'Batch + Read Receipt' operation. + :type understanding_results: + list[~azure.cognitiveservices.formrecognizer.models.UnderstandingResult] + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'TextOperationStatusCodes'}, + 'recognition_results': {'key': 'recognitionResults', 'type': '[TextRecognitionResult]'}, + 'understanding_results': {'key': 'understandingResults', 'type': '[UnderstandingResult]'}, + } + + def __init__(self, **kwargs): + super(ReadReceiptResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.recognition_results = kwargs.get('recognition_results', None) + self.understanding_results = kwargs.get('understanding_results', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result_py3.py new file mode 100644 index 000000000000..3bda988fa650 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/read_receipt_result_py3.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ReadReceiptResult(Model): + """Analysis result of the 'Batch Read Receipt' operation. + + :param status: Status of the read operation. Possible values include: 'Not + Started', 'Running', 'Failed', 'Succeeded' + :type status: str or + ~azure.cognitiveservices.formrecognizer.models.TextOperationStatusCodes + :param recognition_results: Text recognition result of the 'Batch Read + Receipt' operation. + :type recognition_results: + list[~azure.cognitiveservices.formrecognizer.models.TextRecognitionResult] + :param understanding_results: Semantic understanding result of the 'Batch + Read Receipt' operation. + :type understanding_results: + list[~azure.cognitiveservices.formrecognizer.models.UnderstandingResult] + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'TextOperationStatusCodes'}, + 'recognition_results': {'key': 'recognitionResults', 'type': '[TextRecognitionResult]'}, + 'understanding_results': {'key': 'understandingResults', 'type': '[UnderstandingResult]'}, + } + + def __init__(self, *, status=None, recognition_results=None, understanding_results=None, **kwargs) -> None: + super(ReadReceiptResult, self).__init__(**kwargs) + self.status = status + self.recognition_results = recognition_results + self.understanding_results = understanding_results diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value.py new file mode 100644 index 000000000000..20c0c21f4f00 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .field_value import FieldValue + + +class StringValue(FieldValue): + """Recognized string field value. + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + :param value: String value of the recognized field. + :type value: str + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StringValue, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.value_type = 'stringValue' diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value_py3.py new file mode 100644 index 000000000000..9b580ed0f3cd --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/string_value_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .field_value_py3 import FieldValue + + +class StringValue(FieldValue): + """Recognized string field value. + + All required parameters must be populated in order to send to Azure. + + :param text: OCR text content of the recognized field. + :type text: str + :param elements: List of references to OCR words comprising the recognized + field value. + :type elements: + list[~azure.cognitiveservices.formrecognizer.models.ElementReference] + :param value_type: Required. Constant filled by server. + :type value_type: str + :param value: String value of the recognized field. + :type value: str + """ + + _validation = { + 'value_type': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'elements': {'key': 'elements', 'type': '[ElementReference]'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, text: str=None, elements=None, value: str=None, **kwargs) -> None: + super(StringValue, self).__init__(text=text, elements=elements, **kwargs) + self.value = value + self.value_type = 'stringValue' diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result.py new file mode 100644 index 000000000000..c774a2153f3c --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TextRecognitionResult(Model): + """An object representing a recognized text region. + + All required parameters must be populated in order to send to Azure. + + :param page: The 1-based page number of the recognition result. + :type page: int + :param clockwise_orientation: The orientation of the image in degrees in + the clockwise direction. Range between [0, 360). + :type clockwise_orientation: float + :param width: The width of the image in pixels or the PDF in inches. + :type width: float + :param height: The height of the image in pixels or the PDF in inches. + :type height: float + :param unit: The unit used in the Width, Height and BoundingBox. For + images, the unit is 'pixel'. For PDF, the unit is 'inch'. Possible values + include: 'pixel', 'inch' + :type unit: str or + ~azure.cognitiveservices.formrecognizer.models.TextRecognitionResultDimensionUnit + :param lines: Required. A list of recognized text lines. + :type lines: list[~azure.cognitiveservices.formrecognizer.models.Line] + """ + + _validation = { + 'lines': {'required': True}, + } + + _attribute_map = { + 'page': {'key': 'page', 'type': 'int'}, + 'clockwise_orientation': {'key': 'clockwiseOrientation', 'type': 'float'}, + 'width': {'key': 'width', 'type': 'float'}, + 'height': {'key': 'height', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'TextRecognitionResultDimensionUnit'}, + 'lines': {'key': 'lines', 'type': '[Line]'}, + } + + def __init__(self, **kwargs): + super(TextRecognitionResult, self).__init__(**kwargs) + self.page = kwargs.get('page', None) + self.clockwise_orientation = kwargs.get('clockwise_orientation', None) + self.width = kwargs.get('width', None) + self.height = kwargs.get('height', None) + self.unit = kwargs.get('unit', None) + self.lines = kwargs.get('lines', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result_py3.py new file mode 100644 index 000000000000..d42787a9dd01 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/text_recognition_result_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TextRecognitionResult(Model): + """An object representing a recognized text region. + + All required parameters must be populated in order to send to Azure. + + :param page: The 1-based page number of the recognition result. + :type page: int + :param clockwise_orientation: The orientation of the image in degrees in + the clockwise direction. Range between [0, 360). + :type clockwise_orientation: float + :param width: The width of the image in pixels or the PDF in inches. + :type width: float + :param height: The height of the image in pixels or the PDF in inches. + :type height: float + :param unit: The unit used in the Width, Height and BoundingBox. For + images, the unit is 'pixel'. For PDF, the unit is 'inch'. Possible values + include: 'pixel', 'inch' + :type unit: str or + ~azure.cognitiveservices.formrecognizer.models.TextRecognitionResultDimensionUnit + :param lines: Required. A list of recognized text lines. + :type lines: list[~azure.cognitiveservices.formrecognizer.models.Line] + """ + + _validation = { + 'lines': {'required': True}, + } + + _attribute_map = { + 'page': {'key': 'page', 'type': 'int'}, + 'clockwise_orientation': {'key': 'clockwiseOrientation', 'type': 'float'}, + 'width': {'key': 'width', 'type': 'float'}, + 'height': {'key': 'height', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'TextRecognitionResultDimensionUnit'}, + 'lines': {'key': 'lines', 'type': '[Line]'}, + } + + def __init__(self, *, lines, page: int=None, clockwise_orientation: float=None, width: float=None, height: float=None, unit=None, **kwargs) -> None: + super(TextRecognitionResult, self).__init__(**kwargs) + self.page = page + self.clockwise_orientation = clockwise_orientation + self.width = width + self.height = height + self.unit = unit + self.lines = lines diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result.py new file mode 100644 index 000000000000..dd211614a918 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UnderstandingResult(Model): + """A set of extracted fields corresponding to a semantic object, such as a + receipt, in the input document. + + :param pages: List of pages where the document is found. + :type pages: list[int] + :param fields: Dictionary of recognized field values. + :type fields: dict[str, + ~azure.cognitiveservices.formrecognizer.models.FieldValue] + """ + + _attribute_map = { + 'pages': {'key': 'pages', 'type': '[int]'}, + 'fields': {'key': 'fields', 'type': '{FieldValue}'}, + } + + def __init__(self, **kwargs): + super(UnderstandingResult, self).__init__(**kwargs) + self.pages = kwargs.get('pages', None) + self.fields = kwargs.get('fields', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result_py3.py new file mode 100644 index 000000000000..ac36d79598fd --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/understanding_result_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class UnderstandingResult(Model): + """A set of extracted fields corresponding to a semantic object, such as a + receipt, in the input document. + + :param pages: List of pages where the document is found. + :type pages: list[int] + :param fields: Dictionary of recognized field values. + :type fields: dict[str, + ~azure.cognitiveservices.formrecognizer.models.FieldValue] + """ + + _attribute_map = { + 'pages': {'key': 'pages', 'type': '[int]'}, + 'fields': {'key': 'fields', 'type': '{FieldValue}'}, + } + + def __init__(self, *, pages=None, fields=None, **kwargs) -> None: + super(UnderstandingResult, self).__init__(**kwargs) + self.pages = pages + self.fields = fields diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word.py new file mode 100644 index 000000000000..674e7777f2ba --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Word(Model): + """An object representing a recognized word. + + All required parameters must be populated in order to send to Azure. + + :param bounding_box: Required. Bounding box of a recognized word. + :type bounding_box: list[int] + :param text: Required. The text content of the word. + :type text: str + :param confidence: Qualitative confidence measure. Possible values + include: 'High', 'Low' + :type confidence: str or + ~azure.cognitiveservices.formrecognizer.models.TextRecognitionResultConfidenceClass + """ + + _validation = { + 'bounding_box': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'bounding_box': {'key': 'boundingBox', 'type': '[int]'}, + 'text': {'key': 'text', 'type': 'str'}, + 'confidence': {'key': 'confidence', 'type': 'TextRecognitionResultConfidenceClass'}, + } + + def __init__(self, **kwargs): + super(Word, self).__init__(**kwargs) + self.bounding_box = kwargs.get('bounding_box', None) + self.text = kwargs.get('text', None) + self.confidence = kwargs.get('confidence', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word_py3.py new file mode 100644 index 000000000000..c0094dd2f744 --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/word_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Word(Model): + """An object representing a recognized word. + + All required parameters must be populated in order to send to Azure. + + :param bounding_box: Required. Bounding box of a recognized word. + :type bounding_box: list[int] + :param text: Required. The text content of the word. + :type text: str + :param confidence: Qualitative confidence measure. Possible values + include: 'High', 'Low' + :type confidence: str or + ~azure.cognitiveservices.formrecognizer.models.TextRecognitionResultConfidenceClass + """ + + _validation = { + 'bounding_box': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'bounding_box': {'key': 'boundingBox', 'type': '[int]'}, + 'text': {'key': 'text', 'type': 'str'}, + 'confidence': {'key': 'confidence', 'type': 'TextRecognitionResultConfidenceClass'}, + } + + def __init__(self, *, bounding_box, text: str, confidence=None, **kwargs) -> None: + super(Word, self).__init__(**kwargs) + self.bounding_box = bounding_box + self.text = text + self.confidence = confidence diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/version.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/version.py index e0ec669828cb..5d886f59742e 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/version.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.1.0" +VERSION = "1.0-preview" From 18f436895f0978f672642abcbd7acf3589b0b76c Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 7 Jun 2019 13:14:09 -0700 Subject: [PATCH 2/2] [AutoPR cognitiveservices/data-plane/FormRecognizer] FormRecognizer: Updating Train API to take optional parameter. (#5607) * Generated from 0bc60ed42fd5aa7a857431b75a7d9ec7a7e6482d Adding optional support for subfolders in source parameter to Train API. * Generated from 32fa3cb8bf93a50a580b82444835251dde1b09e4 Minor fix to sawgger, removed merged swagger. * Generated from e0c7d245283e52eeca9285dcb4d3f7bdcfb14331 Minor text fix. --- .../formrecognizer/form_recognizer_client.py | 8 +++- .../formrecognizer/models/__init__.py | 3 ++ .../formrecognizer/models/train_request.py | 6 +++ .../models/train_request_py3.py | 8 +++- .../models/train_source_filter.py | 41 +++++++++++++++++++ .../models/train_source_filter_py3.py | 41 +++++++++++++++++++ 6 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter.py create mode 100644 sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter_py3.py diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py index 22db48af28ea..4d5b73245cd3 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/form_recognizer_client.py @@ -73,7 +73,7 @@ def __init__( def train_custom_model( - self, source, custom_headers=None, raw=False, **operation_config): + self, source, source_filter=None, custom_headers=None, raw=False, **operation_config): """Train Model. Create and train a custom model. The train request must include a @@ -92,6 +92,10 @@ def train_custom_model( :param source: Get or set source path. :type source: str + :param source_filter: Get or set filter to further search the + source path for content. + :type source_filter: + ~azure.cognitiveservices.formrecognizer.models.TrainSourceFilter :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -103,7 +107,7 @@ def train_custom_model( :raises: :class:`ErrorResponseException` """ - train_request = models.TrainRequest(source=source) + train_request = models.TrainRequest(source=source, source_filter=source_filter) # Construct URL url = self.train_custom_model.metadata['url'] diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py index dd715045ff1b..d409491013c6 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/__init__.py @@ -10,6 +10,7 @@ # -------------------------------------------------------------------------- try: + from .train_source_filter_py3 import TrainSourceFilter from .train_request_py3 import TrainRequest from .form_document_report_py3 import FormDocumentReport from .form_operation_error_py3 import FormOperationError @@ -38,6 +39,7 @@ from .computer_vision_error_py3 import ComputerVisionError, ComputerVisionErrorException from .image_url_py3 import ImageUrl except (SyntaxError, ImportError): + from .train_source_filter import TrainSourceFilter from .train_request import TrainRequest from .form_document_report import FormDocumentReport from .form_operation_error import FormOperationError @@ -72,6 +74,7 @@ ) __all__ = [ + 'TrainSourceFilter', 'TrainRequest', 'FormDocumentReport', 'FormOperationError', diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request.py index b29c8b6e02eb..371f70939092 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request.py @@ -19,6 +19,10 @@ class TrainRequest(Model): :param source: Required. Get or set source path. :type source: str + :param source_filter: Get or set filter to further search the + source path for content. + :type source_filter: + ~azure.cognitiveservices.formrecognizer.models.TrainSourceFilter """ _validation = { @@ -27,8 +31,10 @@ class TrainRequest(Model): _attribute_map = { 'source': {'key': 'source', 'type': 'str'}, + 'source_filter': {'key': 'sourceFilter', 'type': 'TrainSourceFilter'}, } def __init__(self, **kwargs): super(TrainRequest, self).__init__(**kwargs) self.source = kwargs.get('source', None) + self.source_filter = kwargs.get('source_filter', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request_py3.py index e32bbf06cad1..3e08a8464e8e 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request_py3.py +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_request_py3.py @@ -19,6 +19,10 @@ class TrainRequest(Model): :param source: Required. Get or set source path. :type source: str + :param source_filter: Get or set filter to further search the + source path for content. + :type source_filter: + ~azure.cognitiveservices.formrecognizer.models.TrainSourceFilter """ _validation = { @@ -27,8 +31,10 @@ class TrainRequest(Model): _attribute_map = { 'source': {'key': 'source', 'type': 'str'}, + 'source_filter': {'key': 'sourceFilter', 'type': 'TrainSourceFilter'}, } - def __init__(self, *, source: str, **kwargs) -> None: + def __init__(self, *, source: str, source_filter=None, **kwargs) -> None: super(TrainRequest, self).__init__(**kwargs) self.source = source + self.source_filter = source_filter diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter.py new file mode 100644 index 000000000000..5ed9aad65dca --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TrainSourceFilter(Model): + """Filters to be applied when traversing a data source. + + :param prefix: A case-sensitive prefix string to filter content + under the source location. For e.g., when using a Azure Blob + Uri use the prefix to restrict subfolders for content. + :type prefix: str + :param include_sub_folders: A flag to indicate if sub folders within the + set of + prefix folders will also need to be included when searching + for content to be preprocessed. + :type include_sub_folders: bool + """ + + _validation = { + 'prefix': {'max_length': 128, 'min_length': 0}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'include_sub_folders': {'key': 'includeSubFolders', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TrainSourceFilter, self).__init__(**kwargs) + self.prefix = kwargs.get('prefix', None) + self.include_sub_folders = kwargs.get('include_sub_folders', None) diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter_py3.py b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter_py3.py new file mode 100644 index 000000000000..f6469269d7df --- /dev/null +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer/models/train_source_filter_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TrainSourceFilter(Model): + """Filters to be applied when traversing a data source. + + :param prefix: A case-sensitive prefix string to filter content + under the source location. For e.g., when using a Azure Blob + Uri use the prefix to restrict subfolders for content. + :type prefix: str + :param include_sub_folders: A flag to indicate if sub folders within the + set of + prefix folders will also need to be included when searching + for content to be preprocessed. + :type include_sub_folders: bool + """ + + _validation = { + 'prefix': {'max_length': 128, 'min_length': 0}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'include_sub_folders': {'key': 'includeSubFolders', 'type': 'bool'}, + } + + def __init__(self, *, prefix: str=None, include_sub_folders: bool=None, **kwargs) -> None: + super(TrainSourceFilter, self).__init__(**kwargs) + self.prefix = prefix + self.include_sub_folders = include_sub_folders