11from time import sleep
22from typing import TypeVar
33
4- import requests
5-
64from mindee .client_mixin import ClientMixin
75from mindee .client_options .polling_options import PollingOptions
86from mindee .error .mindee_error import MindeeError
97from mindee .input import URLInputSource
108from mindee .input .local_input_source import LocalInputSource
119from mindee .logger import logger
12- from mindee .parsing .common import StringDict
1310from mindee .parsing .common .common_response import CommonStatus
1411from mindee .v2 .client_options .base_parameters import BaseParameters
15- from mindee .v2 .error .mindee_http_error_v2 import (
16- MindeeHTTPUnknownErrorV2 ,
17- handle_error_v2 ,
18- )
1912from mindee .v2 .mindee_http .mindee_api_v2 import MindeeAPIV2
20- from mindee .v2 .mindee_http .response_validation_v2 import (
21- is_valid_get_response ,
22- is_valid_post_response ,
23- )
2413from mindee .v2 .parsing .inference .base_response import BaseResponse
2514from mindee .v2 .parsing .job .job_response import JobResponse
2615from mindee .v2 .parsing .search .search_response import SearchResponse
2918TypeBaseResponse = TypeVar ("TypeBaseResponse" , bound = BaseResponse )
3019
3120
32- def _response_json (response : requests .Response ) -> StringDict :
33- try :
34- return response .json ()
35- except ValueError as exc :
36- raise MindeeHTTPUnknownErrorV2 (
37- f"HTTP { response .status_code } response is not valid JSON: { response .text } "
38- ) from exc
39-
40-
4121class Client (ClientMixin ):
4222 """
4323 Mindee API Client.
@@ -71,14 +51,7 @@ def enqueue(
7151 :return: A valid inference response.
7252 """
7353 logger .debug ("Enqueuing inference using model: %s" , params .model_id )
74- response = self .mindee_api .req_post_inference_enqueue (
75- input_source = input_source , params = params , slug = params .get_enqueue_slug ()
76- )
77- dict_response = _response_json (response )
78-
79- if not is_valid_post_response (response ):
80- handle_error_v2 (dict_response )
81- return JobResponse (dict_response )
54+ return self .mindee_api .enqueue (input_source , params )
8255
8356 def get_job (self , job_id : str ) -> JobResponse :
8457 """
@@ -91,11 +64,7 @@ def get_job(self, job_id: str) -> JobResponse:
9164 """
9265 logger .debug ("Fetching job: %s" , job_id )
9366
94- response = self .mindee_api .req_get_job (job_id )
95- dict_response = _response_json (response )
96- if not is_valid_get_response (response ):
97- handle_error_v2 (dict_response )
98- return JobResponse (dict_response )
67+ return self .mindee_api .get_job (job_id )
9968
10069 def get_result (
10170 self ,
@@ -113,13 +82,7 @@ def get_result(
11382 """
11483 logger .debug ("Fetching result: %s" , inference_id )
11584
116- response = self .mindee_api .req_get_inference (
117- inference_id , response_type .get_result_slug ()
118- )
119- dict_response = _response_json (response )
120- if not is_valid_get_response (response ):
121- handle_error_v2 (dict_response )
122- return response_type (dict_response )
85+ return self .mindee_api .get_result (response_type , inference_id )
12386
12487 def enqueue_and_get_result (
12588 self ,
@@ -178,7 +141,9 @@ def enqueue_and_get_result(
178141
179142 raise MindeeError (f"Couldn't retrieve document after { try_counter + 1 } tries." )
180143
181- def search_models (self , name : str | None , model_type : str | None ) -> SearchResponse :
144+ def search_models (
145+ self , name : str | None = None , model_type : str | None = None
146+ ) -> SearchResponse :
182147 """
183148 Get a list of models matching the provided name and type.
184149
0 commit comments