regula-documentreader-webclient 8.1.354.dev0__py3-none-any.whl → 8.1.355rc0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of regula-documentreader-webclient might be problematic. Click here for more details.
- regula/documentreader/webclient/ext/__init__.py +1 -0
- regula/documentreader/webclient/ext/api/document_reader_api.py +2 -2
- regula/documentreader/webclient/ext/models/__init__.py +2 -0
- regula/documentreader/webclient/ext/models/authenticity/authenticity_check_list.py +19 -64
- regula/documentreader/webclient/ext/models/authenticity/fiber.py +7 -7
- regula/documentreader/webclient/ext/models/authenticity/ident.py +9 -10
- regula/documentreader/webclient/ext/models/authenticity/image_ident.py +7 -8
- regula/documentreader/webclient/ext/models/authenticity/ocr_security_text.py +7 -7
- regula/documentreader/webclient/ext/models/authenticity/security_feature.py +8 -10
- regula/documentreader/webclient/ext/models/images.py +4 -4
- regula/documentreader/webclient/ext/models/raw_authenticity_result_item.py +27 -0
- regula/documentreader/webclient/ext/models/raw_result_item.py +26 -0
- regula/documentreader/webclient/ext/models/recognition_request.py +24 -23
- regula/documentreader/webclient/ext/models/recognition_response.py +8 -6
- regula/documentreader/webclient/ext/models/text.py +12 -7
- regula/documentreader/webclient/gen/__init__.py +26 -100
- regula/documentreader/webclient/gen/api/__init__.py +2 -1
- regula/documentreader/webclient/gen/api/default_api.py +160 -0
- regula/documentreader/webclient/gen/api/healthcheck_api.py +298 -687
- regula/documentreader/webclient/gen/api/process_api.py +125 -270
- regula/documentreader/webclient/gen/api/transaction_api.py +673 -1472
- regula/documentreader/webclient/gen/api_client.py +462 -583
- regula/documentreader/webclient/gen/configuration.py +99 -222
- regula/documentreader/webclient/gen/exceptions.py +30 -81
- regula/documentreader/webclient/gen/models/__init__.py +25 -98
- regula/documentreader/webclient/gen/models/area_array.py +131 -85
- regula/documentreader/webclient/gen/models/area_container.py +157 -85
- regula/documentreader/webclient/gen/models/auth_params.py +526 -100
- regula/documentreader/webclient/gen/models/authenticity_check_list.py +136 -75
- regula/documentreader/webclient/gen/models/authenticity_check_result.py +160 -81
- regula/documentreader/webclient/gen/models/authenticity_check_result_item.py +217 -154
- regula/documentreader/webclient/gen/models/authenticity_result.py +231 -68
- regula/documentreader/webclient/gen/models/authenticity_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/authenticity_result_type.py +123 -35
- regula/documentreader/webclient/gen/models/bc_pdf417_info.py +235 -75
- regula/documentreader/webclient/gen/models/bc_roidetect.py +183 -71
- regula/documentreader/webclient/gen/models/byte_array_result.py +233 -64
- regula/documentreader/webclient/gen/models/byte_array_result_all_of.py +122 -0
- regula/documentreader/webclient/gen/models/check_diagnose.py +329 -138
- regula/documentreader/webclient/gen/models/check_result.py +84 -15
- regula/documentreader/webclient/gen/models/chosen_document_type.py +334 -94
- regula/documentreader/webclient/gen/models/chosen_document_type_result.py +264 -80
- regula/documentreader/webclient/gen/models/chosen_document_type_result_all_of.py +145 -0
- regula/documentreader/webclient/gen/models/container_list.py +134 -75
- regula/documentreader/webclient/gen/models/critical.py +82 -14
- regula/documentreader/webclient/gen/models/cross_source_value_comparison.py +156 -67
- regula/documentreader/webclient/gen/models/data_module.py +209 -74
- regula/documentreader/webclient/gen/models/details_optical.py +298 -83
- regula/documentreader/webclient/gen/models/details_rfid.py +268 -78
- regula/documentreader/webclient/gen/models/device_info.py +235 -76
- regula/documentreader/webclient/gen/models/device_info2.py +275 -0
- regula/documentreader/webclient/gen/models/doc_bar_code_info.py +230 -68
- regula/documentreader/webclient/gen/models/doc_bar_code_info_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/doc_bar_code_info_fields_list.py +135 -75
- regula/documentreader/webclient/gen/models/doc_visual_extended_field.py +301 -105
- regula/documentreader/webclient/gen/models/doc_visual_extended_info.py +106 -75
- regula/documentreader/webclient/gen/models/document_format.py +105 -27
- regula/documentreader/webclient/gen/models/document_image.py +132 -63
- regula/documentreader/webclient/gen/models/document_image_result.py +231 -68
- regula/documentreader/webclient/gen/models/document_image_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/document_position.py +340 -111
- regula/documentreader/webclient/gen/models/document_position_result.py +230 -68
- regula/documentreader/webclient/gen/models/document_position_result_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/document_type.py +539 -243
- regula/documentreader/webclient/gen/models/document_type_recognition_result.py +84 -15
- regula/documentreader/webclient/gen/models/document_types_candidates.py +131 -76
- regula/documentreader/webclient/gen/models/document_types_candidates_list.py +131 -76
- regula/documentreader/webclient/gen/models/document_types_candidates_result.py +230 -68
- regula/documentreader/webclient/gen/models/document_types_candidates_result_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/documents_database.py +191 -71
- regula/documentreader/webclient/gen/models/encrypted_rcl_result.py +233 -64
- regula/documentreader/webclient/gen/models/encrypted_rcl_result_all_of.py +122 -0
- regula/documentreader/webclient/gen/models/face_api.py +358 -88
- regula/documentreader/webclient/gen/models/face_api_search.py +159 -65
- regula/documentreader/webclient/gen/models/fdsid_list.py +390 -91
- regula/documentreader/webclient/gen/models/fiber_result.py +439 -103
- regula/documentreader/webclient/gen/models/fiber_result_all_of.py +343 -0
- regula/documentreader/webclient/gen/models/get_transactions_by_tag_response.py +159 -66
- regula/documentreader/webclient/gen/models/graphic_field.py +271 -80
- regula/documentreader/webclient/gen/models/graphic_field_type.py +131 -40
- regula/documentreader/webclient/gen/models/graphic_fields_list.py +106 -75
- regula/documentreader/webclient/gen/models/graphics_result.py +231 -68
- regula/documentreader/webclient/gen/models/graphics_result_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/healthcheck.py +297 -117
- regula/documentreader/webclient/gen/models/healthcheck_documents_database.py +187 -91
- regula/documentreader/webclient/gen/models/ident_result.py +345 -107
- regula/documentreader/webclient/gen/models/ident_result_all_of.py +249 -0
- regula/documentreader/webclient/gen/models/image_data.py +132 -63
- regula/documentreader/webclient/gen/models/image_qa.py +304 -83
- regula/documentreader/webclient/gen/models/image_quality_check.py +263 -86
- regula/documentreader/webclient/gen/models/image_quality_check_list.py +133 -78
- regula/documentreader/webclient/gen/models/image_quality_check_type.py +97 -22
- regula/documentreader/webclient/gen/models/image_quality_result.py +231 -68
- regula/documentreader/webclient/gen/models/image_quality_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/image_transaction_data.py +97 -61
- regula/documentreader/webclient/gen/models/images.py +133 -87
- regula/documentreader/webclient/gen/models/images_available_source.py +130 -64
- regula/documentreader/webclient/gen/models/images_field.py +162 -80
- regula/documentreader/webclient/gen/models/images_field_value.py +331 -94
- regula/documentreader/webclient/gen/models/images_result.py +231 -68
- regula/documentreader/webclient/gen/models/images_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/in_data.py +131 -79
- regula/documentreader/webclient/gen/models/in_data_rfid_session.py +121 -0
- regula/documentreader/webclient/gen/models/in_data_transaction_images_field_value.py +187 -72
- regula/documentreader/webclient/gen/models/in_data_video.py +131 -63
- regula/documentreader/webclient/gen/models/inline_response200.py +197 -0
- regula/documentreader/webclient/gen/models/inline_response2001.py +333 -0
- regula/documentreader/webclient/gen/models/input_barcode_type.py +119 -33
- regula/documentreader/webclient/gen/models/input_image_quality_checks.py +97 -22
- regula/documentreader/webclient/gen/models/lcid.py +402 -179
- regula/documentreader/webclient/gen/models/lexical_analysis_result.py +234 -68
- regula/documentreader/webclient/gen/models/lexical_analysis_result_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/license_result.py +233 -64
- regula/documentreader/webclient/gen/models/license_result_all_of.py +122 -0
- regula/documentreader/webclient/gen/models/light.py +87 -61
- regula/documentreader/webclient/gen/models/list_transactions_by_tag_response.py +131 -75
- regula/documentreader/webclient/gen/models/list_verified_fields.py +105 -77
- regula/documentreader/webclient/gen/models/liveness_params.py +247 -77
- regula/documentreader/webclient/gen/models/log_level.py +88 -17
- regula/documentreader/webclient/gen/models/measure_system.py +82 -14
- regula/documentreader/webclient/gen/models/mrz_detect_mode_enum.py +84 -15
- regula/documentreader/webclient/gen/models/mrz_format.py +90 -18
- regula/documentreader/webclient/gen/models/ocr_security_text_result.py +449 -107
- regula/documentreader/webclient/gen/models/ocr_security_text_result_all_of.py +353 -0
- regula/documentreader/webclient/gen/models/one_candidate.py +334 -94
- regula/documentreader/webclient/gen/models/original_symbol.py +167 -74
- regula/documentreader/webclient/gen/models/out_data.py +133 -75
- regula/documentreader/webclient/gen/models/out_data_transaction_images_field_value.py +213 -75
- regula/documentreader/webclient/gen/models/p_array_field.py +342 -103
- regula/documentreader/webclient/gen/models/parsing_notification_codes.py +523 -235
- regula/documentreader/webclient/gen/models/per_document_config.py +131 -63
- regula/documentreader/webclient/gen/models/photo_ident_result.py +423 -107
- regula/documentreader/webclient/gen/models/photo_ident_result_all_of.py +327 -0
- regula/documentreader/webclient/gen/models/point.py +127 -63
- regula/documentreader/webclient/gen/models/point_array.py +97 -65
- regula/documentreader/webclient/gen/models/points_container.py +131 -75
- regula/documentreader/webclient/gen/models/process_params.py +1743 -229
- regula/documentreader/webclient/gen/models/process_params_rfid.py +97 -56
- regula/documentreader/webclient/gen/models/process_request.py +411 -113
- regula/documentreader/webclient/gen/models/process_request_image.py +159 -74
- regula/documentreader/webclient/gen/models/process_response.py +299 -96
- regula/documentreader/webclient/gen/models/process_system_info.py +131 -63
- regula/documentreader/webclient/gen/models/processing_status.py +84 -15
- regula/documentreader/webclient/gen/models/raw_image_container_list.py +131 -75
- regula/documentreader/webclient/gen/models/rectangle_coordinates.py +187 -71
- regula/documentreader/webclient/gen/models/result.py +133 -49
- regula/documentreader/webclient/gen/models/result_item.py +245 -195
- regula/documentreader/webclient/gen/models/rfid_location.py +84 -15
- regula/documentreader/webclient/gen/models/rfid_origin.py +192 -71
- regula/documentreader/webclient/gen/models/scenario.py +117 -33
- regula/documentreader/webclient/gen/models/security_feature_result.py +345 -99
- regula/documentreader/webclient/gen/models/security_feature_result_all_of.py +249 -0
- regula/documentreader/webclient/gen/models/security_feature_type.py +185 -68
- regula/documentreader/webclient/gen/models/source.py +88 -18
- regula/documentreader/webclient/gen/models/source_validity.py +129 -65
- regula/documentreader/webclient/gen/models/status.py +264 -86
- regula/documentreader/webclient/gen/models/status_result.py +231 -68
- regula/documentreader/webclient/gen/models/status_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/string_recognition_result.py +108 -81
- regula/documentreader/webclient/gen/models/symbol_candidate.py +143 -72
- regula/documentreader/webclient/gen/models/symbol_recognition_result.py +135 -87
- regula/documentreader/webclient/gen/models/text.py +214 -92
- regula/documentreader/webclient/gen/models/text_available_source.py +157 -67
- regula/documentreader/webclient/gen/models/text_data_result.py +230 -68
- regula/documentreader/webclient/gen/models/text_data_result_all_of.py +119 -0
- regula/documentreader/webclient/gen/models/text_field.py +357 -115
- regula/documentreader/webclient/gen/models/text_field_type.py +1367 -660
- regula/documentreader/webclient/gen/models/text_field_value.py +307 -105
- regula/documentreader/webclient/gen/models/text_post_processing.py +86 -16
- regula/documentreader/webclient/gen/models/text_result.py +231 -68
- regula/documentreader/webclient/gen/models/text_result_all_of.py +120 -0
- regula/documentreader/webclient/gen/models/tfdsid_list.py +372 -0
- regula/documentreader/webclient/gen/models/transaction_image.py +97 -61
- regula/documentreader/webclient/gen/models/transaction_images_field_value.py +227 -0
- regula/documentreader/webclient/gen/models/transaction_info.py +302 -84
- regula/documentreader/webclient/gen/models/transaction_process_get_response.py +183 -79
- regula/documentreader/webclient/gen/models/transaction_process_request.py +299 -108
- regula/documentreader/webclient/gen/models/transaction_scenario_request.py +119 -0
- regula/documentreader/webclient/gen/models/verification_result.py +88 -17
- regula/documentreader/webclient/gen/models/verified_field_map.py +273 -85
- regula/documentreader/webclient/gen/models/visibility.py +88 -17
- regula/documentreader/webclient/gen/rest.py +174 -132
- {regula_documentreader_webclient-8.1.354.dev0.dist-info → regula_documentreader_webclient-8.1.355rc0.dist-info}/METADATA +4 -6
- regula_documentreader_webclient-8.1.355rc0.dist-info/RECORD +192 -0
- regula/documentreader/webclient/gen/api_response.py +0 -21
- regula/documentreader/webclient/gen/models/authenticity_check_list_item.py +0 -83
- regula/documentreader/webclient/gen/models/authenticity_check_result_list_inner.py +0 -174
- regula/documentreader/webclient/gen/models/bar_code_module_type.py +0 -32
- regula/documentreader/webclient/gen/models/barcode_type.py +0 -47
- regula/documentreader/webclient/gen/models/binary_data.py +0 -218
- regula/documentreader/webclient/gen/models/byte_array_item.py +0 -79
- regula/documentreader/webclient/gen/models/candidates_list_item.py +0 -83
- regula/documentreader/webclient/gen/models/certificate_data.py +0 -81
- regula/documentreader/webclient/gen/models/container_list_list_inner.py +0 -426
- regula/documentreader/webclient/gen/models/doc_bar_code_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/doc_graphics_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/doc_visual_extended_field_item.py +0 -83
- regula/documentreader/webclient/gen/models/doc_visual_extended_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/document_binary_info_result.py +0 -90
- regula/documentreader/webclient/gen/models/document_position_item.py +0 -83
- regula/documentreader/webclient/gen/models/encrypted_rcl_item.py +0 -79
- regula/documentreader/webclient/gen/models/error_coordinates.py +0 -85
- regula/documentreader/webclient/gen/models/face_detection.py +0 -95
- regula/documentreader/webclient/gen/models/face_detection_item.py +0 -83
- regula/documentreader/webclient/gen/models/face_detection_result.py +0 -90
- regula/documentreader/webclient/gen/models/face_item.py +0 -109
- regula/documentreader/webclient/gen/models/fiber_item.py +0 -106
- regula/documentreader/webclient/gen/models/field_item.py +0 -89
- regula/documentreader/webclient/gen/models/file_image.py +0 -81
- regula/documentreader/webclient/gen/models/graph_data.py +0 -95
- regula/documentreader/webclient/gen/models/ident_item.py +0 -110
- regula/documentreader/webclient/gen/models/image_quality_check_list_item.py +0 -83
- regula/documentreader/webclient/gen/models/images_item.py +0 -83
- regula/documentreader/webclient/gen/models/license_item.py +0 -79
- regula/documentreader/webclient/gen/models/list_verified_fields_item.py +0 -83
- regula/documentreader/webclient/gen/models/mrz_detector_result.py +0 -90
- regula/documentreader/webclient/gen/models/mrz_position.py +0 -124
- regula/documentreader/webclient/gen/models/mrz_position_item.py +0 -83
- regula/documentreader/webclient/gen/models/mrz_position_result.py +0 -90
- regula/documentreader/webclient/gen/models/mrz_rows_item.py +0 -91
- regula/documentreader/webclient/gen/models/mrz_test_quality.py +0 -105
- regula/documentreader/webclient/gen/models/mrz_test_quality_item.py +0 -83
- regula/documentreader/webclient/gen/models/mrz_test_quality_result.py +0 -90
- regula/documentreader/webclient/gen/models/ocr_security_text_item.py +0 -110
- regula/documentreader/webclient/gen/models/one_candidate_item.py +0 -87
- regula/documentreader/webclient/gen/models/parsed_data.py +0 -79
- regula/documentreader/webclient/gen/models/parsing_error_codes.py +0 -153
- regula/documentreader/webclient/gen/models/photo_ident_item.py +0 -110
- regula/documentreader/webclient/gen/models/raw_image_container_item.py +0 -83
- regula/documentreader/webclient/gen/models/result_mrz_detector.py +0 -93
- regula/documentreader/webclient/gen/models/result_mrz_detector_item.py +0 -83
- regula/documentreader/webclient/gen/models/rfid_a_chip.py +0 -33
- regula/documentreader/webclient/gen/models/rfid_access_control_info.py +0 -90
- regula/documentreader/webclient/gen/models/rfid_access_control_procedure_type.py +0 -35
- regula/documentreader/webclient/gen/models/rfid_access_key.py +0 -87
- regula/documentreader/webclient/gen/models/rfid_application.py +0 -101
- regula/documentreader/webclient/gen/models/rfid_application_type.py +0 -37
- regula/documentreader/webclient/gen/models/rfid_attribute_data.py +0 -81
- regula/documentreader/webclient/gen/models/rfid_attribute_name.py +0 -85
- regula/documentreader/webclient/gen/models/rfid_authentication_procedure_type.py +0 -31
- regula/documentreader/webclient/gen/models/rfid_baud_rate.py +0 -32
- regula/documentreader/webclient/gen/models/rfid_card_properties_ext.py +0 -123
- regula/documentreader/webclient/gen/models/rfid_certificate_ex.py +0 -130
- regula/documentreader/webclient/gen/models/rfid_certificate_origin.py +0 -36
- regula/documentreader/webclient/gen/models/rfid_certificate_type.py +0 -35
- regula/documentreader/webclient/gen/models/rfid_data_file.py +0 -118
- regula/documentreader/webclient/gen/models/rfid_data_file_type.py +0 -119
- regula/documentreader/webclient/gen/models/rfid_data_group_type_tag.py +0 -82
- regula/documentreader/webclient/gen/models/rfid_dg1.py +0 -111
- regula/documentreader/webclient/gen/models/rfid_distinguished_name.py +0 -95
- regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_field.py +0 -120
- regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_field_item.py +0 -85
- regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_info.py +0 -89
- regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/rfid_error_codes.py +0 -141
- regula/documentreader/webclient/gen/models/rfid_graphics_info_result.py +0 -90
- regula/documentreader/webclient/gen/models/rfid_password_type.py +0 -34
- regula/documentreader/webclient/gen/models/rfid_pki_extension.py +0 -81
- regula/documentreader/webclient/gen/models/rfid_raw_data.py +0 -81
- regula/documentreader/webclient/gen/models/rfid_security_object.py +0 -96
- regula/documentreader/webclient/gen/models/rfid_session_data.py +0 -150
- regula/documentreader/webclient/gen/models/rfid_signer_info_ex.py +0 -133
- regula/documentreader/webclient/gen/models/rfid_terminal.py +0 -84
- regula/documentreader/webclient/gen/models/rfid_terminal_type.py +0 -32
- regula/documentreader/webclient/gen/models/rfid_text_data_result.py +0 -90
- regula/documentreader/webclient/gen/models/rfid_type.py +0 -30
- regula/documentreader/webclient/gen/models/rfid_validity.py +0 -88
- regula/documentreader/webclient/gen/models/rfidpkd_resource_type.py +0 -35
- regula/documentreader/webclient/gen/models/security_feature_item.py +0 -102
- regula/documentreader/webclient/gen/models/security_object_certificates.py +0 -83
- regula/documentreader/webclient/gen/models/status_item.py +0 -83
- regula/documentreader/webclient/gen/models/string_item.py +0 -135
- regula/documentreader/webclient/gen/models/symbol.py +0 -79
- regula/documentreader/webclient/gen/models/symbol_estimation_item.py +0 -115
- regula/documentreader/webclient/gen/models/t_doc_binary_info.py +0 -93
- regula/documentreader/webclient/gen/models/t_doc_binary_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/t_original_rfid_graphics_info.py +0 -87
- regula/documentreader/webclient/gen/models/t_original_rfid_graphics_info_item.py +0 -83
- regula/documentreader/webclient/gen/models/text_item.py +0 -83
- regula/documentreader/webclient/gen/models/transaction_process_response.py +0 -107
- regula/documentreader/webclient/gen/models/transaction_process_response_item.py +0 -79
- regula/documentreader/webclient/gen/models/transaction_process_result.py +0 -93
- regula/documentreader/webclient/gen/models/trf_ft_bytes.py +0 -90
- regula/documentreader/webclient/gen/models/trf_ft_string.py +0 -85
- regula/documentreader/webclient/gen/models/visual_extended_field_item.py +0 -112
- regula/documentreader/webclient/gen/py.typed +0 -0
- regula_documentreader_webclient-8.1.354.dev0.dist-info/RECORD +0 -263
- {regula_documentreader_webclient-8.1.354.dev0.dist-info → regula_documentreader_webclient-8.1.355rc0.dist-info}/WHEEL +0 -0
- {regula_documentreader_webclient-8.1.354.dev0.dist-info → regula_documentreader_webclient-8.1.355rc0.dist-info}/top_level.txt +0 -0
|
@@ -4,57 +4,49 @@
|
|
|
4
4
|
Generated by: https://openapi-generator.tech
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
from __future__ import absolute_import
|
|
8
|
+
|
|
7
9
|
import io
|
|
8
10
|
import json
|
|
11
|
+
import logging
|
|
9
12
|
import re
|
|
10
13
|
import ssl
|
|
11
14
|
|
|
15
|
+
# python 2 and python 3 compatibility library
|
|
16
|
+
import six
|
|
17
|
+
from six.moves.urllib.parse import urlencode
|
|
12
18
|
import urllib3
|
|
13
19
|
|
|
14
|
-
from regula.documentreader.webclient.gen.exceptions import ApiException, ApiValueError
|
|
15
|
-
|
|
16
|
-
SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"}
|
|
17
|
-
RESTResponseType = urllib3.HTTPResponse
|
|
20
|
+
from regula.documentreader.webclient.gen.exceptions import ApiException, UnauthorizedException, ForbiddenException, NotFoundException, ServiceException, ApiValueError
|
|
18
21
|
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
if url is None:
|
|
22
|
-
return False
|
|
23
|
-
split_section = url.split("://")
|
|
24
|
-
if len(split_section) < 2:
|
|
25
|
-
return False
|
|
26
|
-
else:
|
|
27
|
-
return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES
|
|
23
|
+
logger = logging.getLogger(__name__)
|
|
28
24
|
|
|
29
25
|
|
|
30
26
|
class RESTResponse(io.IOBase):
|
|
31
27
|
|
|
32
|
-
def __init__(self, resp)
|
|
33
|
-
self.
|
|
28
|
+
def __init__(self, resp):
|
|
29
|
+
self.urllib3_response = resp
|
|
34
30
|
self.status = resp.status
|
|
35
31
|
self.reason = resp.reason
|
|
36
|
-
self.data =
|
|
37
|
-
|
|
38
|
-
def read(self):
|
|
39
|
-
if self.data is None:
|
|
40
|
-
self.data = self.response.data
|
|
41
|
-
return self.data
|
|
32
|
+
self.data = resp.data
|
|
42
33
|
|
|
43
34
|
def getheaders(self):
|
|
44
35
|
"""Returns a dictionary of the response headers."""
|
|
45
|
-
return self.
|
|
36
|
+
return self.urllib3_response.getheaders()
|
|
46
37
|
|
|
47
38
|
def getheader(self, name, default=None):
|
|
48
39
|
"""Returns a given response header."""
|
|
49
|
-
return self.
|
|
40
|
+
return self.urllib3_response.getheader(name, default)
|
|
50
41
|
|
|
51
42
|
|
|
52
|
-
class RESTClientObject:
|
|
43
|
+
class RESTClientObject(object):
|
|
53
44
|
|
|
54
|
-
def __init__(self, configuration
|
|
45
|
+
def __init__(self, configuration, pools_size=4, maxsize=None):
|
|
55
46
|
# urllib3.PoolManager will pass all kw parameters to connectionpool
|
|
56
47
|
# https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501
|
|
57
48
|
# https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501
|
|
49
|
+
# maxsize is the number of requests to host that are allowed in parallel # noqa: E501
|
|
58
50
|
# Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501
|
|
59
51
|
|
|
60
52
|
# cert_reqs
|
|
@@ -63,80 +55,70 @@ class RESTClientObject:
|
|
|
63
55
|
else:
|
|
64
56
|
cert_reqs = ssl.CERT_NONE
|
|
65
57
|
|
|
66
|
-
|
|
67
|
-
"cert_reqs": cert_reqs,
|
|
68
|
-
"ca_certs": configuration.ssl_ca_cert,
|
|
69
|
-
"cert_file": configuration.cert_file,
|
|
70
|
-
"key_file": configuration.key_file,
|
|
71
|
-
"ca_cert_data": configuration.ca_cert_data,
|
|
72
|
-
}
|
|
58
|
+
addition_pool_args = {}
|
|
73
59
|
if configuration.assert_hostname is not None:
|
|
74
|
-
|
|
75
|
-
configuration.assert_hostname
|
|
76
|
-
)
|
|
60
|
+
addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501
|
|
77
61
|
|
|
78
62
|
if configuration.retries is not None:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if configuration.tls_server_name:
|
|
82
|
-
pool_args['server_hostname'] = configuration.tls_server_name
|
|
83
|
-
|
|
63
|
+
addition_pool_args['retries'] = configuration.retries
|
|
84
64
|
|
|
85
65
|
if configuration.socket_options is not None:
|
|
86
|
-
|
|
66
|
+
addition_pool_args['socket_options'] = configuration.socket_options
|
|
87
67
|
|
|
88
|
-
if
|
|
89
|
-
|
|
68
|
+
if maxsize is None:
|
|
69
|
+
if configuration.connection_pool_maxsize is not None:
|
|
70
|
+
maxsize = configuration.connection_pool_maxsize
|
|
71
|
+
else:
|
|
72
|
+
maxsize = 4
|
|
90
73
|
|
|
91
74
|
# https pool manager
|
|
92
|
-
self.pool_manager: urllib3.PoolManager
|
|
93
|
-
|
|
94
75
|
if configuration.proxy:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
76
|
+
self.pool_manager = urllib3.ProxyManager(
|
|
77
|
+
num_pools=pools_size,
|
|
78
|
+
maxsize=maxsize,
|
|
79
|
+
cert_reqs=cert_reqs,
|
|
80
|
+
ca_certs=configuration.ssl_ca_cert,
|
|
81
|
+
cert_file=configuration.cert_file,
|
|
82
|
+
key_file=configuration.key_file,
|
|
83
|
+
proxy_url=configuration.proxy,
|
|
84
|
+
proxy_headers=configuration.proxy_headers,
|
|
85
|
+
**addition_pool_args
|
|
86
|
+
)
|
|
104
87
|
else:
|
|
105
|
-
self.pool_manager = urllib3.PoolManager(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
88
|
+
self.pool_manager = urllib3.PoolManager(
|
|
89
|
+
num_pools=pools_size,
|
|
90
|
+
maxsize=maxsize,
|
|
91
|
+
cert_reqs=cert_reqs,
|
|
92
|
+
ca_certs=configuration.ssl_ca_cert,
|
|
93
|
+
cert_file=configuration.cert_file,
|
|
94
|
+
key_file=configuration.key_file,
|
|
95
|
+
**addition_pool_args
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
def request(self, method, url, query_params=None, headers=None,
|
|
99
|
+
body=None, post_params=None, _preload_content=True,
|
|
100
|
+
_request_timeout=None):
|
|
116
101
|
"""Perform requests.
|
|
117
102
|
|
|
118
103
|
:param method: http request method
|
|
119
104
|
:param url: http request url
|
|
105
|
+
:param query_params: query parameters in the url
|
|
120
106
|
:param headers: http request headers
|
|
121
107
|
:param body: request json body, for `application/json`
|
|
122
108
|
:param post_params: request post parameters,
|
|
123
109
|
`application/x-www-form-urlencoded`
|
|
124
110
|
and `multipart/form-data`
|
|
111
|
+
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
|
112
|
+
be returned without reading/decoding response
|
|
113
|
+
data. Default is True.
|
|
125
114
|
:param _request_timeout: timeout setting for this request. If one
|
|
126
115
|
number provided, it will be total request
|
|
127
116
|
timeout. It can also be a pair (tuple) of
|
|
128
117
|
(connection, read) timeouts.
|
|
129
118
|
"""
|
|
130
119
|
method = method.upper()
|
|
131
|
-
assert method in [
|
|
132
|
-
|
|
133
|
-
'HEAD',
|
|
134
|
-
'DELETE',
|
|
135
|
-
'POST',
|
|
136
|
-
'PUT',
|
|
137
|
-
'PATCH',
|
|
138
|
-
'OPTIONS'
|
|
139
|
-
]
|
|
120
|
+
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
|
|
121
|
+
'PATCH', 'OPTIONS']
|
|
140
122
|
|
|
141
123
|
if post_params and body:
|
|
142
124
|
raise ApiValueError(
|
|
@@ -148,83 +130,60 @@ class RESTClientObject:
|
|
|
148
130
|
|
|
149
131
|
timeout = None
|
|
150
132
|
if _request_timeout:
|
|
151
|
-
if isinstance(_request_timeout, (
|
|
133
|
+
if isinstance(_request_timeout, six.integer_types + (float, )): # noqa: E501,F821
|
|
152
134
|
timeout = urllib3.Timeout(total=_request_timeout)
|
|
153
|
-
elif (
|
|
154
|
-
|
|
155
|
-
and len(_request_timeout) == 2
|
|
156
|
-
):
|
|
135
|
+
elif (isinstance(_request_timeout, tuple) and
|
|
136
|
+
len(_request_timeout) == 2):
|
|
157
137
|
timeout = urllib3.Timeout(
|
|
158
|
-
connect=_request_timeout[0],
|
|
159
|
-
|
|
160
|
-
|
|
138
|
+
connect=_request_timeout[0], read=_request_timeout[1])
|
|
139
|
+
|
|
140
|
+
if 'Content-Type' not in headers:
|
|
141
|
+
headers['Content-Type'] = 'application/json'
|
|
161
142
|
|
|
162
143
|
try:
|
|
163
144
|
# For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
|
|
164
145
|
if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
if (
|
|
169
|
-
not content_type
|
|
170
|
-
or re.search('json', content_type, re.IGNORECASE)
|
|
171
|
-
):
|
|
146
|
+
if query_params:
|
|
147
|
+
url += '?' + urlencode(query_params)
|
|
148
|
+
if re.search('json', headers['Content-Type'], re.IGNORECASE):
|
|
172
149
|
request_body = None
|
|
173
150
|
if body is not None:
|
|
174
151
|
request_body = json.dumps(body)
|
|
175
152
|
r = self.pool_manager.request(
|
|
176
|
-
method,
|
|
177
|
-
url,
|
|
153
|
+
method, url,
|
|
178
154
|
body=request_body,
|
|
155
|
+
preload_content=_preload_content,
|
|
179
156
|
timeout=timeout,
|
|
180
|
-
headers=headers
|
|
181
|
-
|
|
182
|
-
)
|
|
183
|
-
elif content_type == 'application/x-www-form-urlencoded':
|
|
157
|
+
headers=headers)
|
|
158
|
+
elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
|
|
184
159
|
r = self.pool_manager.request(
|
|
185
|
-
method,
|
|
186
|
-
url,
|
|
160
|
+
method, url,
|
|
187
161
|
fields=post_params,
|
|
188
162
|
encode_multipart=False,
|
|
163
|
+
preload_content=_preload_content,
|
|
189
164
|
timeout=timeout,
|
|
190
|
-
headers=headers
|
|
191
|
-
|
|
192
|
-
)
|
|
193
|
-
elif content_type == 'multipart/form-data':
|
|
165
|
+
headers=headers)
|
|
166
|
+
elif headers['Content-Type'] == 'multipart/form-data':
|
|
194
167
|
# must del headers['Content-Type'], or the correct
|
|
195
168
|
# Content-Type which generated by urllib3 will be
|
|
196
169
|
# overwritten.
|
|
197
170
|
del headers['Content-Type']
|
|
198
|
-
# Ensures that dict objects are serialized
|
|
199
|
-
post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params]
|
|
200
171
|
r = self.pool_manager.request(
|
|
201
|
-
method,
|
|
202
|
-
url,
|
|
172
|
+
method, url,
|
|
203
173
|
fields=post_params,
|
|
204
174
|
encode_multipart=True,
|
|
175
|
+
preload_content=_preload_content,
|
|
205
176
|
timeout=timeout,
|
|
206
|
-
headers=headers
|
|
207
|
-
preload_content=False
|
|
208
|
-
)
|
|
177
|
+
headers=headers)
|
|
209
178
|
# Pass a `string` parameter directly in the body to support
|
|
210
|
-
# other content types than
|
|
211
|
-
# provided in serialized form
|
|
179
|
+
# other content types than Json when `body` argument is
|
|
180
|
+
# provided in serialized form
|
|
212
181
|
elif isinstance(body, str) or isinstance(body, bytes):
|
|
182
|
+
request_body = body
|
|
213
183
|
r = self.pool_manager.request(
|
|
214
|
-
method,
|
|
215
|
-
url,
|
|
216
|
-
body=body,
|
|
217
|
-
timeout=timeout,
|
|
218
|
-
headers=headers,
|
|
219
|
-
preload_content=False
|
|
220
|
-
)
|
|
221
|
-
elif headers['Content-Type'].startswith('text/') and isinstance(body, bool):
|
|
222
|
-
request_body = "true" if body else "false"
|
|
223
|
-
r = self.pool_manager.request(
|
|
224
|
-
method,
|
|
225
|
-
url,
|
|
184
|
+
method, url,
|
|
226
185
|
body=request_body,
|
|
227
|
-
preload_content=
|
|
186
|
+
preload_content=_preload_content,
|
|
228
187
|
timeout=timeout,
|
|
229
188
|
headers=headers)
|
|
230
189
|
else:
|
|
@@ -235,16 +194,99 @@ class RESTClientObject:
|
|
|
235
194
|
raise ApiException(status=0, reason=msg)
|
|
236
195
|
# For `GET`, `HEAD`
|
|
237
196
|
else:
|
|
238
|
-
r = self.pool_manager.request(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
headers=headers,
|
|
244
|
-
preload_content=False
|
|
245
|
-
)
|
|
197
|
+
r = self.pool_manager.request(method, url,
|
|
198
|
+
fields=query_params,
|
|
199
|
+
preload_content=_preload_content,
|
|
200
|
+
timeout=timeout,
|
|
201
|
+
headers=headers)
|
|
246
202
|
except urllib3.exceptions.SSLError as e:
|
|
247
|
-
msg = "\n".
|
|
203
|
+
msg = "{0}\n{1}".format(type(e).__name__, str(e))
|
|
248
204
|
raise ApiException(status=0, reason=msg)
|
|
249
205
|
|
|
250
|
-
|
|
206
|
+
if _preload_content:
|
|
207
|
+
r = RESTResponse(r)
|
|
208
|
+
|
|
209
|
+
# log response body
|
|
210
|
+
logger.debug("response body: %s", r.data)
|
|
211
|
+
|
|
212
|
+
if not 200 <= r.status <= 299:
|
|
213
|
+
if r.status == 401:
|
|
214
|
+
raise UnauthorizedException(http_resp=r)
|
|
215
|
+
|
|
216
|
+
if r.status == 403:
|
|
217
|
+
raise ForbiddenException(http_resp=r)
|
|
218
|
+
|
|
219
|
+
if r.status == 404:
|
|
220
|
+
raise NotFoundException(http_resp=r)
|
|
221
|
+
|
|
222
|
+
if 500 <= r.status <= 599:
|
|
223
|
+
raise ServiceException(http_resp=r)
|
|
224
|
+
|
|
225
|
+
raise ApiException(http_resp=r)
|
|
226
|
+
|
|
227
|
+
return r
|
|
228
|
+
|
|
229
|
+
def GET(self, url, headers=None, query_params=None, _preload_content=True,
|
|
230
|
+
_request_timeout=None):
|
|
231
|
+
return self.request("GET", url,
|
|
232
|
+
headers=headers,
|
|
233
|
+
_preload_content=_preload_content,
|
|
234
|
+
_request_timeout=_request_timeout,
|
|
235
|
+
query_params=query_params)
|
|
236
|
+
|
|
237
|
+
def HEAD(self, url, headers=None, query_params=None, _preload_content=True,
|
|
238
|
+
_request_timeout=None):
|
|
239
|
+
return self.request("HEAD", url,
|
|
240
|
+
headers=headers,
|
|
241
|
+
_preload_content=_preload_content,
|
|
242
|
+
_request_timeout=_request_timeout,
|
|
243
|
+
query_params=query_params)
|
|
244
|
+
|
|
245
|
+
def OPTIONS(self, url, headers=None, query_params=None, post_params=None,
|
|
246
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
247
|
+
return self.request("OPTIONS", url,
|
|
248
|
+
headers=headers,
|
|
249
|
+
query_params=query_params,
|
|
250
|
+
post_params=post_params,
|
|
251
|
+
_preload_content=_preload_content,
|
|
252
|
+
_request_timeout=_request_timeout,
|
|
253
|
+
body=body)
|
|
254
|
+
|
|
255
|
+
def DELETE(self, url, headers=None, query_params=None, body=None,
|
|
256
|
+
_preload_content=True, _request_timeout=None):
|
|
257
|
+
return self.request("DELETE", url,
|
|
258
|
+
headers=headers,
|
|
259
|
+
query_params=query_params,
|
|
260
|
+
_preload_content=_preload_content,
|
|
261
|
+
_request_timeout=_request_timeout,
|
|
262
|
+
body=body)
|
|
263
|
+
|
|
264
|
+
def POST(self, url, headers=None, query_params=None, post_params=None,
|
|
265
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
266
|
+
return self.request("POST", url,
|
|
267
|
+
headers=headers,
|
|
268
|
+
query_params=query_params,
|
|
269
|
+
post_params=post_params,
|
|
270
|
+
_preload_content=_preload_content,
|
|
271
|
+
_request_timeout=_request_timeout,
|
|
272
|
+
body=body)
|
|
273
|
+
|
|
274
|
+
def PUT(self, url, headers=None, query_params=None, post_params=None,
|
|
275
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
276
|
+
return self.request("PUT", url,
|
|
277
|
+
headers=headers,
|
|
278
|
+
query_params=query_params,
|
|
279
|
+
post_params=post_params,
|
|
280
|
+
_preload_content=_preload_content,
|
|
281
|
+
_request_timeout=_request_timeout,
|
|
282
|
+
body=body)
|
|
283
|
+
|
|
284
|
+
def PATCH(self, url, headers=None, query_params=None, post_params=None,
|
|
285
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
286
|
+
return self.request("PATCH", url,
|
|
287
|
+
headers=headers,
|
|
288
|
+
query_params=query_params,
|
|
289
|
+
post_params=post_params,
|
|
290
|
+
_preload_content=_preload_content,
|
|
291
|
+
_request_timeout=_request_timeout,
|
|
292
|
+
body=body)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: regula_documentreader_webclient
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.355rc0
|
|
4
4
|
Summary: Regula's Document Reader python client
|
|
5
5
|
Home-page: https://regulaforensics.com
|
|
6
6
|
Author: Regula Forensics, Inc.
|
|
@@ -10,13 +10,11 @@ Requires-Python: >=3.8
|
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
11
11
|
Requires-Dist: certifi>=2024.07.04
|
|
12
12
|
Requires-Dist: six>=1.10
|
|
13
|
-
Requires-Dist: python-dateutil>=2.
|
|
14
|
-
Requires-Dist: urllib3
|
|
13
|
+
Requires-Dist: python-dateutil>=2.5.3
|
|
14
|
+
Requires-Dist: urllib3>=1.26.19
|
|
15
15
|
Requires-Dist: vistir<=0.6.1,>=0.4.0
|
|
16
16
|
Requires-Dist: idna==3.7
|
|
17
17
|
Requires-Dist: requests>=2.32.3
|
|
18
|
-
Requires-Dist: pydantic>=2
|
|
19
|
-
Requires-Dist: typing-extensions>=4.7.1
|
|
20
18
|
|
|
21
19
|
# Regula Document Reader web API Python 3.8+ client
|
|
22
20
|
|
|
@@ -59,7 +57,7 @@ with open("australia_passport.jpg", "rb") as f:
|
|
|
59
57
|
|
|
60
58
|
with DocumentReaderApi(host='http://localhost:8080') as api:
|
|
61
59
|
params = ProcessParams(
|
|
62
|
-
scenario=Scenario.
|
|
60
|
+
scenario=Scenario.FULL_PROCESS,
|
|
63
61
|
result_type_output=[Result.DOCUMENT_IMAGE, Result.STATUS, Result.TEXT, Result.IMAGES]
|
|
64
62
|
)
|
|
65
63
|
request = RecognitionRequest(process_params=params, images=[input_image])
|