
    ?pjv                     N   S SK r S SKrS SKJrJrJr  S SKrSSKJrJ	r	J
r
Jr  SSKJrJrJrJr  SrSrS\R&                  S	S4S
 jrS\R&                  S	\4S jrS\R&                  S	\\\4   4S jrS\R&                  S	\\\4   4S jrS\R&                  S	\4S jr " S S5      rg)    N)AnyDictOptional   ) extract_api_message_from_payloadextract_job_idraise_for_statusunwrap_api_response)NetworkErrorRequestTimeoutErrorResponseFormatErrorResultParseErrorz"https://paddleocr.aistudio-app.comz/api/v2/ocr/jobsresponsereturnc                 v    SU R                   s=::  a  S:  a   g   [        U R                   [        U 5      5        g )N   i,  )status_coder	   _extract_api_messager   s    W/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddleocr/_api_client/_http.py_raise_for_responser   &   s3    
h""(S( )X))+?+IJ    c                      U R                  5       n[        U[        5      (       a  [        U5      nU(       a  U$ U R                  $ ! [         a    U R                  s $ f = fN)json
ValueErrortext
isinstancedictr   )r   payloadmsgs      r   r   r   ,   sX    --/ '4  .w7J==  }}s   A A A c                      U R                  5       n[        U[        5      (       d  [        S5      eU$ ! [         a  n[        SU 35      UeS nAff = f)Nz!Response body is not valid JSON: z$Response body must be a JSON object.)r   r   r   r   r   )r   r    es      r   _response_jsonr$   8   s]    R--/ gt$$!"HIIN	  R!$EaS"IJPQQRs   4 
AAAc                 B    [        U 5      n[        XR                  5      $ r   )r$   r
   r   )r   r    s     r   _response_datar&   B   s    X&Gw(<(<==r   c                 *    [        [        U 5      5      $ r   )r   r&   r   s    r   _job_id_from_responser(   G   s    .233r   c                      \ rS rSr SS\S\S\S\\   4S jjr\S\4S	 j5       r	  SS
\S\S\
S\\   S\\   S\4S jjr  SS
\S\S\
S\\   S\\   S\4S jjrS\S\\\4   4S jrS\S\\\4   4S jrS\S\4S jrS rSrg)
HTTPClientK   Ntokenbase_urltimeoutclient_platformc                 &   Xl         UR                  S5      U l        U R                   [         3U l        X0l        [        R                  " 5       U l        SU 3U R                  R                  S'   U(       a  X@R                  R                  S'   g g )N/zBearer AuthorizationzClient-Platform)
_tokenrstrip	_base_urlAPI_PATH	_jobs_url_timeoutrequestsSession_sessionheaders)selfr,   r-   r.   r/   s        r   __init__HTTPClient.__init__L   sy     !- NN+H:6 ((*3:5'1Bo.7FMM!!"34 r   r   c                     U R                   $ r   )r8   r=   s    r   r.   HTTPClient.timeout\   s    }}r   modelfile_urloptional_payloadpage_rangesbatch_idc                 X   UUUS.nUb  XFS'   Ub  XVS'    U R                   R                  U R                  UU R                  S9n[        U5        [        U5      $ ! [        R
                   a  n[        SU 35      UeS nAf[        R                   a  n[        SU 35      UeS nAff = f)N)fileUrlrC   optionalPayload
pageRangesbatchId)r   r.   Request timed out: Connection failed: )r;   postr7   r8   r9   Timeoutr   ConnectionErrorr   r   r(   )	r=   rC   rD   rE   rF   rG   bodyrespr#   s	            r   
submit_urlHTTPClient.submit_url`   s      /

 "!,&O		A==%% & D 	D!$T**  	H%(;A3&?@aG'' 	A!4QC89q@	As#   /A B)/A>>B)B$$B)	file_pathc                 .   [         R                  R                  U5      (       d  [        U5      eU[        R
                  " U5      S.nUb  XFS'   Ub  XVS'    [        US5       nU R                  R                  U R                  USU0U R                  S9nS S S 5        [!        W5        [#        U5      $ ! , (       d  f       N$= f! [        R                   a  n	[        SU	 35      U	eS n	A	f[        R                   a  n	[        SU	 35      U	eS n	A	ff = f)	N)rC   rJ   rK   rL   rbfile)datafilesr.   rM   rN   )ospathexistsFileNotFoundErrorr   dumpsopenr;   rO   r7   r8   r9   rP   r   rQ   r   r   r(   )
r=   rC   rV   rE   rF   rG   rZ   frS   r#   s
             r   submit_fileHTTPClient.submit_file~   s    ww~~i((#I..#zz*:;
 "!,&O	Ai&!}}))NN!1+ MM	 *  ' 	D!$T** '&  	H%(;A3&?@aG'' 	A!4QC89q@	AsB   C $3B5C 5
C?C C DC))D DDjob_idc                 8    U R                   R                  U R                   SU 3U R                  S9n[        U5        [        U5      $ ! [        R
                   a  n[        SU 35      UeS nAf[        R                   a  n[        SU 35      UeS nAff = f)Nr1   r.   rM   rN   r;   getr7   r8   r9   rP   r   rQ   r   r   r&   )r=   re   rS   r#   s       r   get_job_statusHTTPClient.get_job_status   s    	A==$$>>"!F8, % D 	D!d##  	H%(;A3&?@aG'' 	A!4QC89q@	A#   3A BA..BBBc                 8    U R                   R                  U R                   SU 3U R                  S9n[        U5        [        U5      $ ! [        R
                   a  n[        SU 35      UeS nAf[        R                   a  n[        SU 35      UeS nAff = f)Nz/batch/rg   rM   rN   rh   )r=   rG   rS   r#   s       r   get_batch_statusHTTPClient.get_batch_status   s    	A==$$>>"'(4 % D 	D!d##  	H%(;A3&?@aG'' 	A!4QC89q@	Arl   urlc                 B    [         R                  " XR                  S9n UR                  5         UR                  R                  5       R                  S5      n/ nU HA  nUR                  5       nU(       d  M  UR                  [        R                  " U5      5        MC     U$ ! [         R                   a  n[	        SU 35      UeS nAf[         R
                   a  n[        SU 35      UeS nAff = f! [        R                   a  n[        SU 35      UeS nAff = f)Nrg   rM   rN   
z Malformed JSONL result payload: )r9   ri   r8   rP   r   rQ   r   r	   r   stripsplitappendr   loadsJSONDecodeErrorr   )r=   rp   rS   r#   linesresultslines          r   fetch_jsonlHTTPClient.fetch_jsonl   s   	A<<]];D

	R!!#IIOO%++D1EGzz|4NN4::d#34  N  	H%(;A3&?@aG'' 	A!4QC89q@	A ## 	R"%EaS#IJPQQ	RsA   B% AC6 :*C6 %C39CC3C..C36D
DDc                 8    U R                   R                  5         g r   )r;   closerA   s    r   r~   HTTPClient.close   s    r   )r5   r7   r;   r8   r3   r   )NN)__name__
__module____qualname____firstlineno__strfloatr   r>   propertyr.   r   rT   rc   r   r   rj   rn   listr{   r~   __static_attributes__ r   r   r*   r*   K   sG    *.GG G 	G
 "#G     &*"&++ + 	+
 c]+ 3-+ 
+F &*"&++ + 	+
 c]+ 3-+ 
+B$S $T#s(^ $$ $c3h $Rs Rt R(r   r*   )r   r\   typingr   r   r   r9   _corer   r   r	   r
   errorsr   r   r   r   DEFAULT_BASE_URLr6   Responser   r   r   r$   r&   r(   r*   r   r   r   <module>r      s     	 & &    8 K("3"3 K K	8#4#4 	 	X.. 4S> >X.. >4S> >
4H$5$5 4# 4C Cr   