diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 13bba03..efe5617 100755 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -2,10 +2,10 @@ regula/__init__.py regula/facesdk/__init__.py regula/facesdk/webclient/gen/__init__.py regula/facesdk/webclient/gen/api/__init__.py -regula/facesdk/webclient/gen/api/diagnostics_api.py regula/facesdk/webclient/gen/api/group_api.py +regula/facesdk/webclient/gen/api/healthcheck_api.py regula/facesdk/webclient/gen/api/liveness_2_0_api.py -regula/facesdk/webclient/gen/api/matching_api.py +regula/facesdk/webclient/gen/api/match_api.py regula/facesdk/webclient/gen/api/person_api.py regula/facesdk/webclient/gen/api/search_api.py regula/facesdk/webclient/gen/api_client.py @@ -27,6 +27,7 @@ regula/facesdk/webclient/gen/model/detection.py regula/facesdk/webclient/gen/model/detection_attributes.py regula/facesdk/webclient/gen/model/detection_face.py regula/facesdk/webclient/gen/model/detection_quality.py +regula/facesdk/webclient/gen/model/device_info.py regula/facesdk/webclient/gen/model/face_attribute.py regula/facesdk/webclient/gen/model/face_image_quality_align_type.py regula/facesdk/webclient/gen/model/face_image_quality_groups.py diff --git a/example/example.py b/example/example.py index d996898..f5373f5 100755 --- a/example/example.py +++ b/example/example.py @@ -21,7 +21,7 @@ MatchImage(index=3, data=face_2_bytes), ] match_request = MatchRequest(images=images, thumbnails=True) - match_response = sdk.matching_api.match(match_request) + match_response = sdk.match_api.match(match_request) print("-----------------------------------------------------------------") print(" Matching Results ") @@ -31,7 +31,7 @@ print("-----------------------------------------------------------------") detect_request = DetectRequest(image=face_1_bytes) - detect_response = sdk.matching_api.detect(detect_request) + detect_response = sdk.match_api.detect(detect_request) detect_results = detect_response.results print(" Detect Results ") @@ -51,7 +51,7 @@ only_central_face=True ) ) - detect_image_quality_response = sdk.matching_api.detect(detect_image_quality_request) + detect_image_quality_response = sdk.match_api.detect(detect_image_quality_request) detect_image_quality_result = detect_image_quality_response.results print(" Detect Image Quality Results ") print("-----------------------------------------------------------------") diff --git a/example/example_identification_module.py b/example/example_identification_module.py index 7a31273..4f98950 100644 --- a/example/example_identification_module.py +++ b/example/example_identification_module.py @@ -49,7 +49,7 @@ print(f"Group {group.id} {group.name}") print(result) -match_and_search = sdk.matching_api.match_and_search( +match_and_search = sdk.match_api.match_and_search( images=[MatchAndSearchRequestAllOfImages(base64.b64encode(face_1_bytes).decode("UTF-8"), ImageSource.LIVE), MatchAndSearchRequestAllOfImages(base64.b64encode(face_2_bytes).decode("UTF-8"), ImageSource.LIVE)], group_ids=[group.id] diff --git a/regula/facesdk/webclient/ext/__init__.py b/regula/facesdk/webclient/ext/__init__.py index 4fc9230..41f8abc 100755 --- a/regula/facesdk/webclient/ext/__init__.py +++ b/regula/facesdk/webclient/ext/__init__.py @@ -1,4 +1,4 @@ -from regula.facesdk.webclient.ext.api import MatchingApi, FaceSdk +from regula.facesdk.webclient.ext.api import MatchApi, FaceSdk from regula.facesdk.webclient.ext.common import Base64String from regula.facesdk.webclient.ext.models import MatchRequest from regula.facesdk.webclient.ext.models import MatchImage diff --git a/regula/facesdk/webclient/ext/api/__init__.py b/regula/facesdk/webclient/ext/api/__init__.py index cb0c20f..5739a3c 100755 --- a/regula/facesdk/webclient/ext/api/__init__.py +++ b/regula/facesdk/webclient/ext/api/__init__.py @@ -1,3 +1,3 @@ -from regula.facesdk.webclient.ext.api.matching_api import MatchingApi +from regula.facesdk.webclient.ext.api.match_api import MatchApi from regula.facesdk.webclient.ext.api.person_api import PersonApi from regula.facesdk.webclient.ext.api.sdk import FaceSdk diff --git a/regula/facesdk/webclient/ext/api/matching_api.py b/regula/facesdk/webclient/ext/api/match_api.py similarity index 94% rename from regula/facesdk/webclient/ext/api/matching_api.py rename to regula/facesdk/webclient/ext/api/match_api.py index 699f3f3..81ce354 100755 --- a/regula/facesdk/webclient/ext/api/matching_api.py +++ b/regula/facesdk/webclient/ext/api/match_api.py @@ -1,7 +1,7 @@ from typing import List from regula.facesdk.webclient.gen import Configuration, ApiClient -from regula.facesdk.webclient.gen.apis import MatchingApi as GenMatchingApi +from regula.facesdk.webclient.gen.apis import MatchApi as GenMatchApi from regula.facesdk.webclient.ext.models import MatchRequest, DetectRequest from regula.facesdk.webclient.gen.model.detect_response import DetectResponse from regula.facesdk.webclient.gen.model.match_and_search_request import MatchAndSearchRequest @@ -10,7 +10,7 @@ from regula.facesdk.webclient.gen.model.match_response import MatchResponse -class MatchingApi(GenMatchingApi): +class MatchApi(GenMatchApi): def __init__(self, host=None, debug=False, verify_ssl=False, api_client=None): if api_client: super().__init__(api_client) diff --git a/regula/facesdk/webclient/ext/api/sdk.py b/regula/facesdk/webclient/ext/api/sdk.py index 9c84877..2400bc9 100755 --- a/regula/facesdk/webclient/ext/api/sdk.py +++ b/regula/facesdk/webclient/ext/api/sdk.py @@ -1,4 +1,4 @@ -from regula.facesdk.webclient.ext.api import MatchingApi +from regula.facesdk.webclient.ext.api import MatchApi from regula.facesdk.webclient.ext.api import PersonApi from regula.facesdk.webclient.ext.api.group_api import GroupApi from regula.facesdk.webclient.ext.api.search_api import SearchApi @@ -16,7 +16,7 @@ def __init__(self, host=None, debug=None, verify_ssl=False, api_client=None): self.__api_client = ApiClient(configuration=configuration) - self.matching_api = MatchingApi(api_client=self.__api_client) + self.match_api = MatchApi(api_client=self.__api_client) self.person_api = PersonApi(api_client=self.__api_client) self.group_api = GroupApi(api_client=self.__api_client) self.search_api = SearchApi(api_client=self.__api_client) diff --git a/regula/facesdk/webclient/gen/api/__init__.py b/regula/facesdk/webclient/gen/api/__init__.py index d384f76..3d25784 100644 --- a/regula/facesdk/webclient/gen/api/__init__.py +++ b/regula/facesdk/webclient/gen/api/__init__.py @@ -1,3 +1,3 @@ # do not import all apis into this module because that uses a lot of memory and stack frames # if you need the ability to import all apis from one package, import them with -# from regula.facesdk.webclient.gen.apis import DiagnosticsApi +# from regula.facesdk.webclient.gen.apis import GroupApi diff --git a/regula/facesdk/webclient/gen/api/healthcheck_api.py b/regula/facesdk/webclient/gen/api/healthcheck_api.py new file mode 100644 index 0000000..d35edfa --- /dev/null +++ b/regula/facesdk/webclient/gen/api/healthcheck_api.py @@ -0,0 +1,283 @@ +# coding: utf-8 + +""" + Regula Face SDK Web API + + Regula Face SDK is a cross-platform biometric verification solution for a digital identity verification process and image quality assurance. The SDK enables convenient and reliable face capture on the client side (mobile, web, and desktop) and further processing on the client or server side. The Face SDK includes the following features: * Face detection and image quality assessment * Face match (1:1) * Face search (1:N) * Liveness detection Here is the OpenAPI specification on GitHub. ### Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core # noqa: E501 + + The version of the OpenAPI document: 6.2.0 + Generated by: https://openapi-generator.tech +""" + + +from __future__ import absolute_import + +import re # noqa: F401 + +# python 2 and python 3 compatibility library +import six + +from regula.facesdk.webclient.gen.api_client import ApiClient +from regula.facesdk.webclient.gen.exceptions import ( # noqa: F401 + ApiTypeError, + ApiValueError +) + + +class HealthcheckApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + + def healthz(self, **kwargs): # noqa: E501 + """Server healthcheck # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.healthz(async_req=True) + >>> result = thread.get() + + :param x_request_id: Request header label. + :type x_request_id: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :type _preload_content: bool, optional + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: DeviceInfo + """ + kwargs['_return_http_data_only'] = True + return self.healthz_with_http_info(**kwargs) # noqa: E501 + + def healthz_with_http_info(self, **kwargs): # noqa: E501 + """Server healthcheck # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.healthz_with_http_info(async_req=True) + >>> result = thread.get() + + :param x_request_id: Request header label. + :type x_request_id: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _return_http_data_only: response data without head status code + and headers + :type _return_http_data_only: bool, optional + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :type _preload_content: bool, optional + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(DeviceInfo, status_code(int), headers(HTTPHeaderDict)) + """ + + local_var_params = locals() + + all_params = [ + 'x_request_id', + ] + all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth' + ] + ) + + for key, val in six.iteritems(local_var_params['kwargs']): + if key not in all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method healthz" % key + ) + local_var_params[key] = val + del local_var_params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + + header_params = {} + if 'x_request_id' in local_var_params: + header_params['X-RequestID'] = local_var_params['x_request_id'] # noqa: E501 + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/healthz', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DeviceInfo', # noqa: E501 + auth_settings=auth_settings, + async_req=local_var_params.get('async_req'), + _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=local_var_params.get('_preload_content', True), + _request_timeout=local_var_params.get('_request_timeout'), + collection_formats=collection_formats, + _request_auth=local_var_params.get('_request_auth')) + + def readyz(self, **kwargs): # noqa: E501 + """License healthcheck # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.readyz(async_req=True) + >>> result = thread.get() + + :param x_request_id: Request header label. + :type x_request_id: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :type _preload_content: bool, optional + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + kwargs['_return_http_data_only'] = True + return self.readyz_with_http_info(**kwargs) # noqa: E501 + + def readyz_with_http_info(self, **kwargs): # noqa: E501 + """License healthcheck # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.readyz_with_http_info(async_req=True) + >>> result = thread.get() + + :param x_request_id: Request header label. + :type x_request_id: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _return_http_data_only: response data without head status code + and headers + :type _return_http_data_only: bool, optional + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :type _preload_content: bool, optional + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + + local_var_params = locals() + + all_params = [ + 'x_request_id', + ] + all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth' + ] + ) + + for key, val in six.iteritems(local_var_params['kwargs']): + if key not in all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method readyz" % key + ) + local_var_params[key] = val + del local_var_params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + + header_params = {} + if 'x_request_id' in local_var_params: + header_params['X-RequestID'] = local_var_params['x_request_id'] # noqa: E501 + + form_params = [] + local_var_files = {} + + body_params = None + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/readyz', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, # noqa: E501 + auth_settings=auth_settings, + async_req=local_var_params.get('async_req'), + _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=local_var_params.get('_preload_content', True), + _request_timeout=local_var_params.get('_request_timeout'), + collection_formats=collection_formats, + _request_auth=local_var_params.get('_request_auth')) diff --git a/regula/facesdk/webclient/gen/api/matching_api.py b/regula/facesdk/webclient/gen/api/match_api.py similarity index 98% rename from regula/facesdk/webclient/gen/api/matching_api.py rename to regula/facesdk/webclient/gen/api/match_api.py index 038ae8c..923a726 100644 --- a/regula/facesdk/webclient/gen/api/matching_api.py +++ b/regula/facesdk/webclient/gen/api/match_api.py @@ -24,7 +24,7 @@ ) -class MatchingApi(object): +class MatchApi(object): """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -323,7 +323,7 @@ def match_with_http_info(self, match_request, **kwargs): # noqa: E501 def match_and_search(self, match_and_search_request, **kwargs): # noqa: E501 """match and search (1:1 + 1:N) # noqa: E501 - To compare several images from a document and look up a person in the database in one request, use POST `/api/match_and_search`. In this case, the calculation of the descriptor will be performed only once, as opposed to using two requests for the same operation. If only one person is identified, matching is not performed and only search is carried out. # noqa: E501 + To compare several images from a document and look up a person in the database in one request, use POST `/api/match_and_search`. In this case, the calculation of the descriptor will be performed only once, as opposed to using two requests for the same operation. If only one person is identified, match is not performed and only search is carried out. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True @@ -355,7 +355,7 @@ def match_and_search(self, match_and_search_request, **kwargs): # noqa: E501 def match_and_search_with_http_info(self, match_and_search_request, **kwargs): # noqa: E501 """match and search (1:1 + 1:N) # noqa: E501 - To compare several images from a document and look up a person in the database in one request, use POST `/api/match_and_search`. In this case, the calculation of the descriptor will be performed only once, as opposed to using two requests for the same operation. If only one person is identified, matching is not performed and only search is carried out. # noqa: E501 + To compare several images from a document and look up a person in the database in one request, use POST `/api/match_and_search`. In this case, the calculation of the descriptor will be performed only once, as opposed to using two requests for the same operation. If only one person is identified, match is not performed and only search is carried out. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/regula/facesdk/webclient/gen/apis/__init__.py b/regula/facesdk/webclient/gen/apis/__init__.py index 6e7a3cd..ba872f2 100644 --- a/regula/facesdk/webclient/gen/apis/__init__.py +++ b/regula/facesdk/webclient/gen/apis/__init__.py @@ -6,7 +6,7 @@ # raise a `RecursionError`. # In order to avoid this, import only the API that you directly need like: # -# from .api.diagnostics_api import DiagnosticsApi +# from .api.group_api import GroupApi # # or import this package, but before doing it, use: # @@ -14,9 +14,9 @@ # sys.setrecursionlimit(n) # Import APIs into API package: -from regula.facesdk.webclient.gen.api.diagnostics_api import DiagnosticsApi from regula.facesdk.webclient.gen.api.group_api import GroupApi +from regula.facesdk.webclient.gen.api.healthcheck_api import HealthcheckApi from regula.facesdk.webclient.gen.api.liveness_2_0_api import Liveness20Api -from regula.facesdk.webclient.gen.api.matching_api import MatchingApi +from regula.facesdk.webclient.gen.api.match_api import MatchApi from regula.facesdk.webclient.gen.api.person_api import PersonApi from regula.facesdk.webclient.gen.api.search_api import SearchApi diff --git a/regula/facesdk/webclient/gen/model/device_info.py b/regula/facesdk/webclient/gen/model/device_info.py new file mode 100644 index 0000000..26bdde7 --- /dev/null +++ b/regula/facesdk/webclient/gen/model/device_info.py @@ -0,0 +1,231 @@ +# coding: utf-8 + +""" + Regula Face SDK Web API + + Regula Face SDK is a cross-platform biometric verification solution for a digital identity verification process and image quality assurance. The SDK enables convenient and reliable face capture on the client side (mobile, web, and desktop) and further processing on the client or server side. The Face SDK includes the following features: * Face detection and image quality assessment * Face match (1:1) * Face search (1:N) * Liveness detection Here is the OpenAPI specification on GitHub. ### Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core # noqa: E501 + + The version of the OpenAPI document: 6.2.0 + Generated by: https://openapi-generator.tech +""" + + +import pprint +import re # noqa: F401 + +import six + +from regula.facesdk.webclient.gen.configuration import Configuration + + +class DeviceInfo(object): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + """ + Attributes: + openapi_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + openapi_types = { + 'app': 'str', + 'license_id': 'str, none_type', + 'license_serial': 'str, none_type', + 'license_valid_until': 'datetime, none_type', + 'version': 'str, none_type', + } + + attribute_map = { + 'app': 'app', + 'license_id': 'licenseId', + 'license_serial': 'licenseSerial', + 'license_valid_until': 'licenseValidUntil', + 'version': 'version', + } + + def __init__(self, app=None, license_id=None, license_serial=None, license_valid_until=None, version=None, local_vars_configuration=None): # noqa: E501 + """DeviceInfo - a model defined in OpenAPI""" # noqa: E501 + if local_vars_configuration is None: + local_vars_configuration = Configuration() + self.local_vars_configuration = local_vars_configuration + + self._app = None + self._license_id = None + self._license_serial = None + self._license_valid_until = None + self._version = None + self.discriminator = None + + self.app = app + self.license_id = license_id + self.license_serial = license_serial + self.license_valid_until = license_valid_until + self.version = version + + @property + def app(self): + """Gets the app of this DeviceInfo. # noqa: E501 + + Application name. # noqa: E501 + + :return: The app of this DeviceInfo. # noqa: E501 + :rtype: str + """ + return self._app + + @app.setter + def app(self, app): + """Sets the app of this DeviceInfo. + + Application name. # noqa: E501 + + :param app: The app of this DeviceInfo. # noqa: E501 + :type app: str + """ + if self.local_vars_configuration.client_side_validation and app is None: # noqa: E501 + raise ValueError("Invalid value for `app`, must not be `None`") # noqa: E501 + + self._app = app + + @property + def license_id(self): + """Gets the license_id of this DeviceInfo. # noqa: E501 + + Unique license identifier. # noqa: E501 + + :return: The license_id of this DeviceInfo. # noqa: E501 + :rtype: str, none_type + """ + return self._license_id + + @license_id.setter + def license_id(self, license_id): + """Sets the license_id of this DeviceInfo. + + Unique license identifier. # noqa: E501 + + :param license_id: The license_id of this DeviceInfo. # noqa: E501 + :type license_id: str, none_type + """ + + self._license_id = license_id + + @property + def license_serial(self): + """Gets the license_serial of this DeviceInfo. # noqa: E501 + + License serial number. # noqa: E501 + + :return: The license_serial of this DeviceInfo. # noqa: E501 + :rtype: str, none_type + """ + return self._license_serial + + @license_serial.setter + def license_serial(self, license_serial): + """Sets the license_serial of this DeviceInfo. + + License serial number. # noqa: E501 + + :param license_serial: The license_serial of this DeviceInfo. # noqa: E501 + :type license_serial: str, none_type + """ + + self._license_serial = license_serial + + @property + def license_valid_until(self): + """Gets the license_valid_until of this DeviceInfo. # noqa: E501 + + License validity date. # noqa: E501 + + :return: The license_valid_until of this DeviceInfo. # noqa: E501 + :rtype: datetime, none_type + """ + return self._license_valid_until + + @license_valid_until.setter + def license_valid_until(self, license_valid_until): + """Sets the license_valid_until of this DeviceInfo. + + License validity date. # noqa: E501 + + :param license_valid_until: The license_valid_until of this DeviceInfo. # noqa: E501 + :type license_valid_until: datetime, none_type + """ + + self._license_valid_until = license_valid_until + + @property + def version(self): + """Gets the version of this DeviceInfo. # noqa: E501 + + Product version. # noqa: E501 + + :return: The version of this DeviceInfo. # noqa: E501 + :rtype: str, none_type + """ + return self._version + + @version.setter + def version(self, version): + """Sets the version of this DeviceInfo. + + Product version. # noqa: E501 + + :param version: The version of this DeviceInfo. # noqa: E501 + :type version: str, none_type + """ + + self._version = version + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.openapi_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DeviceInfo): + return False + + return self.to_dict() == other.to_dict() + + def __ne__(self, other): + """Returns true if both objects are not equal""" + if not isinstance(other, DeviceInfo): + return True + + return self.to_dict() != other.to_dict() diff --git a/regula/facesdk/webclient/gen/models/__init__.py b/regula/facesdk/webclient/gen/models/__init__.py index 298f74a..91bbb6b 100644 --- a/regula/facesdk/webclient/gen/models/__init__.py +++ b/regula/facesdk/webclient/gen/models/__init__.py @@ -23,6 +23,7 @@ from regula.facesdk.webclient.gen.model.detection_attributes import DetectionAttributes from regula.facesdk.webclient.gen.model.detection_face import DetectionFace from regula.facesdk.webclient.gen.model.detection_quality import DetectionQuality +from regula.facesdk.webclient.gen.model.device_info import DeviceInfo from regula.facesdk.webclient.gen.model.face_attribute import FaceAttribute from regula.facesdk.webclient.gen.model.face_image_quality_align_type import FaceImageQualityAlignType from regula.facesdk.webclient.gen.model.face_image_quality_groups import FaceImageQualityGroups