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