
    ?pjx                         S SK r S SKrS SKJrJr  SSKJrJrJrJ	r	J
r
Jr  SSKJr  SSKJr  SSKJr  SSKJrJr  SS	KJrJrJr  SS
KJr  SSKJrJrJr  SSKJ r J!r!J"r"J#r#J$r$   " S S5      r%g)    N)OptionalUnion   )default_payloadjob_id_for_taskresolve_document_modelresolve_document_optionsresolve_ocr_modelvalidate_input_source)AsyncHTTPClient)DEFAULT_BASE_URL)AsyncPoller)parse_doc_parsing_resultparse_ocr_result)&save_document_parsing_result_resourcessave_ocr_result_resourcessave_resource)	AuthError)DocParsingOptionsModel
OCROptions)BatchStatusDocParsingResultJob	JobStatus	OCRResultc                   D   \ rS rSrSr      S,S\\   S\\   S\S\S\\   S	\\   4S
 jjrS r	S r
S rSSSSS\R                  4S\\   S\\   S\\   S\\   S\\   S\\\4   S\4S jjr\R$                  SSSSS4S\\\4   S\\   S\\   S\\   S\\   S\\   S\4S jjrSSSSS\R                  4S\\   S\\   S\\   S\\   S\\   S\\\4   S\4S jjr\R$                  SSSSS4S\\\4   S\\   S\\   S\\   S\\   S\\   S\4S jjrS\\\4   S\4S jrS\\\4   S\4S jrS\S\4S jrS\S\4S jrSSS .S!\S"\S#\S$\\   S\4
S% jjr SS&.S'\S"\S#\S\!4S( jjr"SS&.S'\S"\S#\S\!4S) jjr#S\S\\   S\\   S\\   S\\   S\4S* jr$S+r%g)-AsyncPaddleOCRClient-   zdAsync client for PaddleOCR API.

Supports asyncio.gather for concurrent job submission and polling.
Ntokenbase_urlrequest_timeoutpoll_timeouttimeoutclient_platformc                 x   U=(       d     [         R                  R                  SS5      U l        U R                  (       d  [	        S5      eU=(       d,    [         R                  R                  S5      =(       d    [
        nUb  UnUn[        U R                  UUUS9U l        [        U R                  US9U l	        g )NPADDLEOCR_ACCESS_TOKEN z=Token is required. Set PADDLEOCR_ACCESS_TOKEN or pass token=.PADDLEOCR_BASE_URL)r%   )max_wait_time)
osenvironget_tokenr   r   r   _httpr   _poller)selfr    r!   r"   r#   r$   r%   resolved_base_urls           ^/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddleocr/_api_client/async_client.py__init__AsyncPaddleOCRClient.__init__3   s     Krzz~~.FK{{O  P

';<P@P 	 %O"L$KK+	

 #4::\J    c                 V   #    U R                   R                  5       I S h  vN   U $  N7fN)r/   
__aenter__r1   s    r3   r9   AsyncPaddleOCRClient.__aenter__O   s%     jj##%%% 	&s   )')c                 T   #    U R                   R                  5       I S h  vN   g  N7fr8   r/   close)r1   argss     r3   	__aexit__AsyncPaddleOCRClient.__aexit__S        jj      (&(c                 T   #    U R                   R                  5       I S h  vN   g  N7fr8   r=   r:   s    r3   r>   AsyncPaddleOCRClient.closeV   rB   rC   file_url	file_pathoptionspage_rangesbatch_idmodelreturnc                    #    [        U5      nU R                  UUUUUU5      I S h  vN nU R                  R                  U5      I S h  vN u  p[	        Xx5      $  N4 N7fr8   )r
   _submitr0   poll_until_doner   )
r1   rF   rG   rH   rI   rJ   rK   job_id
jsonl_data_s
             r3   ocrAsyncPaddleOCRClient.ocrY   sg      "%(||
 
 #ll::6BB
33
 Cs!   %A A"A 
AA A c                    #    [        U5      n[        X5      nU R                  XX4XV5      I S h  vN nU R                  R	                  U5      I S h  vN u  p[        Xx5      $  N4 N7fr8   )r   r	   rN   r0   rO   r   )
r1   rK   rF   rG   rH   rI   rJ   rP   rQ   rR   s
             r3   parse_document#AsyncPaddleOCRClient.parse_documentn   sf      'u-*5:||Y
 
 #ll::6BB
';;	
 Cs!   -A(A$"A(A&A(&A(c                    #    [        U5      nU R                  UUUUUU5      I S h  vN n[        XvR                  SS9$  N7f)NrS   rP   rK   task)r
   rN   r   value)r1   rF   rG   rH   rI   rJ   rK   rP   s           r3   
submit_ocrAsyncPaddleOCRClient.submit_ocr   sN      "%(||
 
 &%@@
s   %AA Ac                    #    [        U5      n[        X5      nU R                  XX4XV5      I S h  vN n[        XqR                  SS9$  N7f)Ndocument_parsingrY   )r   r	   rN   r   r[   )r1   rK   rF   rG   rH   rI   rJ   rP   s           r3   submit_document_parsing,AsyncPaddleOCRClient.submit_document_parsing   sN      'u-*5:||Y
 
 &:LMM
s   -A
AA
jobc                    #    [        US5      nU R                  R                  U5      I S h  vN u  p4[        X#5      $  N7f)NrS   )r   r0   rO   r   r1   rb   rP   rQ   rR   s        r3   wait_ocr_result$AsyncPaddleOCRClient.wait_ocr_result   s;      e,"ll::6BB
33 C   +A?Ac                    #    [        US5      nU R                  R                  U5      I S h  vN u  p4[        X#5      $  N7f)Nr_   )r   r0   rO   r   rd   s        r3   wait_document_parsing_result1AsyncPaddleOCRClient.wait_document_parsing_result   s>      !&89"ll::6BB
';; Crg   rP   c                 T   #    U R                   R                  U5      I S h  vN $  N7fr8   )r0   
get_status)r1   rP   s     r3   rl   AsyncPaddleOCRClient.get_status   s      \\,,V4444   (&(c                 T   #    U R                   R                  U5      I S h  vN $  N7fr8   )r0   get_batch_status)r1   rJ   s     r3   rp   %AsyncPaddleOCRClient.get_batch_status   s      \\228<<<<rn   F)	overwritefilenameresource_urldestinationrr   rs   c          	         #    [         R                  " [        UUUUU R                  R                  S9I S h  vN $  N7f)N)rr   rs   r$   )asyncio	to_threadr   r/   r$   )r1   rt   ru   rr   rs   s        r3   r   "AsyncPaddleOCRClient.save_resource   s@      &&JJ&&
 
 	
 
s   5><>)rr   resultc                ~   #    [         R                  " [        UUUU R                  R                  S9I S h  vN $  N7fN)rr   r$   )rw   rx   r   r/   r$   r1   rz   ru   rr   s       r3   r   .AsyncPaddleOCRClient.save_ocr_result_resources   s=      &&%JJ&&
 
 	
 
   4=;=c                ~   #    [         R                  " [        UUUU R                  R                  S9I S h  vN $  N7fr|   )rw   rx   r   r/   r$   r}   s       r3   r   ;AsyncPaddleOCRClient.save_document_parsing_result_resources   s=      &&2JJ&&
 
 	
 
r   c                 6  #    [        X#5        U(       a  UR                  5       O
[        U5      nU(       a/  U R                  R	                  UR
                  UUUUS9I S h  vN $ U R                  R                  UR
                  UUUUS9I S h  vN $  N3 N7f)N)rI   rJ   )r   
to_payloadr   r/   
submit_urlr[   submit_file)r1   rK   rF   rG   rH   rI   rJ   payloads           r3   rN   AsyncPaddleOCRClient._submit   s      	h2*1'$$&u7M..'! /    ZZ++KK# , 
 
 	

s$   AB!B".BBBB)r/   r0   r.   )NNg     r@g     @NN)&__name__
__module____qualname____firstlineno____doc__r   strfloatr4   r9   r@   r>   r   PP_OCRV6r   r   r   rS   PADDLE_OCR_VL_16r   r   rV   r   r\   r`   re   ri   r   rl   r   rp   boolr   listr   r   rN   __static_attributes__ r6   r3   r   r   -   s     $"&!&##')-K}K 3-K 	K
 K %K "#K8!!
 #'#'(,%)"&#(>>43-4 C=4 *%	4
 c]4 3-4 UCZ 4 
4. $)#9#9"&#'/3%)"&<UCZ < 3-< C=	<
 +,< c]< 3-< 
<& #'#'(,%)"&#(>>A3-A C=A *%	A
 c]A 3-A UCZ A 
A, $)#9#9"&#'/3%)"&NUCZ N 3-N C=	N
 +,N c]N 3-N 
N 4sCx 4Y 4
<c?<	<5s 5y 5=s ={ =  "&

 

 
 3-
 

,  

 

 
 

(  
 
 

 
 



 3-
 C=	
 c]
 3-
 

r6   r   )&rw   r+   typingr   r   _corer   r   r   r	   r
   r   _async_httpr   r/   r   _async_pollerr   r0   r   r   
_resourcesr   r   r   errorsr   modelsr   r   r   resultsr   r   r   r   r   r   r   r6   r3   <module>r      sV     	 "  ) # & ? 
  
 N MP
 P
r6   