11import json
22from typing import BinaryIO , Dict , List , NamedTuple , Optional , Type
33
4- from mindee .documents import (
5- CropperV1 ,
6- CustomV1 ,
7- FinancialDocumentV1 ,
8- FinancialV1 ,
9- InvoiceV3 ,
10- InvoiceV4 ,
11- PassportV1 ,
12- ProofOfAddressV1 ,
13- ReceiptV3 ,
14- ReceiptV4 ,
15- fr ,
16- us ,
17- )
4+ from mindee import documents
185from mindee .documents .base import Document , TypeDocument
196from mindee .documents .config import DocumentConfig , DocumentConfigDict
207from mindee .endpoints import OTS_OWNER , CustomEndpoint , HTTPException , StandardEndpoint
@@ -87,7 +74,7 @@ def parse(
8774 This performs a cropping operation on the server and will increase response time.
8875 """
8976 bound_classname = get_bound_classname (document_class )
90- if bound_classname != CustomV1 .__name__ :
77+ if bound_classname != documents . CustomV1 .__name__ :
9178 endpoint_name = get_bound_classname (document_class )
9279 elif endpoint_name is None :
9380 raise RuntimeError (
@@ -169,7 +156,7 @@ def close(self) -> None:
169156
170157
171158class ConfigSpec (NamedTuple ):
172- klass : Type [Document ]
159+ doc_class : Type [Document ]
173160 url_name : str
174161 version : str
175162
@@ -212,73 +199,78 @@ def _standard_doc_config(
212199 def _init_default_endpoints (self ) -> None :
213200 configs : List [ConfigSpec ] = [
214201 ConfigSpec (
215- klass = InvoiceV3 ,
202+ doc_class = documents . InvoiceV3 ,
216203 url_name = "invoices" ,
217204 version = "3" ,
218205 ),
219206 ConfigSpec (
220- klass = InvoiceV4 ,
207+ doc_class = documents . InvoiceV4 ,
221208 url_name = "invoices" ,
222209 version = "4" ,
223210 ),
224211 ConfigSpec (
225- klass = ReceiptV3 ,
212+ doc_class = documents . ReceiptV3 ,
226213 url_name = "expense_receipts" ,
227214 version = "3" ,
228215 ),
229216 ConfigSpec (
230- klass = ReceiptV4 ,
217+ doc_class = documents . ReceiptV4 ,
231218 url_name = "expense_receipts" ,
232219 version = "4" ,
233220 ),
234221 ConfigSpec (
235- klass = FinancialDocumentV1 ,
222+ doc_class = documents . FinancialDocumentV1 ,
236223 url_name = "financial_document" ,
237224 version = "1" ,
238225 ),
239226 ConfigSpec (
240- klass = PassportV1 ,
227+ doc_class = documents . PassportV1 ,
241228 url_name = "passport" ,
242229 version = "1" ,
243230 ),
244231 ConfigSpec (
245- klass = ProofOfAddressV1 ,
232+ doc_class = documents . ProofOfAddressV1 ,
246233 url_name = "proof_of_address" ,
247234 version = "1" ,
248235 ),
249236 ConfigSpec (
250- klass = CropperV1 ,
237+ doc_class = documents . CropperV1 ,
251238 url_name = "cropper" ,
252239 version = "1" ,
253240 ),
254241 ConfigSpec (
255- klass = us .BankCheckV1 ,
242+ doc_class = documents . us .BankCheckV1 ,
256243 url_name = "bank_check" ,
257244 version = "1" ,
258245 ),
259246 ConfigSpec (
260- klass = fr .CarteGriseV1 ,
247+ doc_class = documents . fr .CarteGriseV1 ,
261248 url_name = "carte_grise" ,
262249 version = "1" ,
263250 ),
264251 ConfigSpec (
265- klass = fr .IdCardV1 ,
252+ doc_class = documents . fr .IdCardV1 ,
266253 url_name = "idcard_fr" ,
267254 version = "1" ,
268255 ),
269256 ConfigSpec (
270- klass = fr .CarteVitaleV1 ,
257+ doc_class = documents . fr .CarteVitaleV1 ,
271258 url_name = "carte_vitale" ,
272259 version = "1" ,
273260 ),
261+ ConfigSpec (
262+ doc_class = documents .ShippingContainerV1 ,
263+ url_name = "shipping_containers" ,
264+ version = "1" ,
265+ ),
274266 ]
275267 for config in configs :
276- config_key = (OTS_OWNER , config .klass .__name__ )
268+ config_key = (OTS_OWNER , config .doc_class .__name__ )
277269 self ._doc_configs [config_key ] = self ._standard_doc_config (
278- config .klass , config .url_name , config .version
270+ config .doc_class , config .url_name , config .version
279271 )
280- self ._doc_configs [OTS_OWNER , FinancialV1 .__name__ ] = DocumentConfig (
281- document_class = FinancialV1 ,
272+ self ._doc_configs [OTS_OWNER , documents . FinancialV1 .__name__ ] = DocumentConfig (
273+ document_class = documents . FinancialV1 ,
282274 endpoints = [
283275 StandardEndpoint (
284276 url_name = "invoices" , version = "3" , api_key = self .api_key
@@ -294,7 +286,7 @@ def add_endpoint(
294286 account_name : str ,
295287 endpoint_name : str ,
296288 version : str = "1" ,
297- document_class : Type [Document ] = CustomV1 ,
289+ document_class : Type [Document ] = documents . CustomV1 ,
298290 ) -> "Client" :
299291 """
300292 Add a custom endpoint, created using the Mindee API Builder.
0 commit comments