
    9i                     \   S r SSKrSSKrSSKJrJr  SSKJr  SSKJ	r	  SSK
Jr   " S S\5      rS	\S
\S\S\4S jrS\S	\S
\S\4S jrS\S\S\S\S\S\S\S\4S jrS\S\4S jrS\S\4S jrS\S\S\S\S\S \S!\4S" jr  S)S\S\S#\S\S$\4
S% jjrS\S\S\S&\4S' jrS\S\4S( jrg)*ue   
本文件实现了请求产线任务

Authors: xiangyiqing(xiangyiqing@baidu.com)
Date:    2024/3/2
    N)configlog)BceClientConfiguration)BceCredentials)	BosClientc                       \ rS rSrSrSrg)RequestPipelineException   z*
exception for requesting pipeline server
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       ^/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/aistudio_sdk/requests/pipeline.pyr	   r	      s     	r   r	   methodurlheadersparamsc                 ^   [         R                  " SU  SU SU SU SU 3
5        Sn[        [        R                  5       Hb  n [
        R                  " U UUUU[        R                  S9n[         R                  " SUR                  5        35        UR                  5       s  $    [         R                  " SU 35        [        U5      e! [
        R                  R                   a    S	R                  W5      n M  [         a&  nS
R                  U[        U5      5      n SnAM  SnAff = f)a  request api
:param url: http url
:param headers: dictionary of HTTP Headers to send
:param json_data: json data to send in the body
:param data: dictionary, list of tuples, bytes, or file-like object to send in the body
:return: response data in json format
z
- method: z
- url: z
- headers: z
- params: z	
- data:  )r   r   datatimeoutz
- response: z-Response body does not contain valid json: {}z)Error occurred when request for "{}": {}.Nz
- err_msg: )r   debugranger   CONNECTION_RETRY_TIMESrequestsrequestCONNECTION_TIMEOUTjson
exceptionsJSONDecodeErrorformat	Exceptionstrr	   )	r   r   r   r   r   err_msg_responsees	            r   _requestr,      s    IIVHIcU-yU[T\\fgkflmnG6001	V''11H IIx}}&789==?" 2  IIgY'(
"7
++ ""22 	WELLXVG 	VAHHcRSfUG	Vs   AC/D,=	D,D''D,tokenc                 T    SSU  3S.n[         R                   U 3n[        XXSU5      $ )u   
请求pp-pipeline API
zapplication/jsonztoken )zContent-TypeAuthorization)r   #STUDIO_MODEL_API_URL_PREFIX_DEFAULTr,   )r-   r   r   r   r   r   
access_urls          r   _request_pipepliner2   @   s>     +!%)G >>?uEJF>>r   namecmdenvdevicegpuspaymentdatasetc           	      x    UUUUUUUS.n[        U S[        R                  S[        R                  " U5      5      $ )u   
请求创建产线
)r3   r4   r5   r6   r7   r8   r9   POSTN)r2   r   PIPELINE_CREATE_URLr"   dumps)	r-   r3   r4   r5   r6   r7   r8   r9   bodys	            r   creater?   R   sM     D ""

4 r   pipeline_idc                 F    SUS.n[        U S[        R                  US5      $ )   
申请ak/sk
SDKsource
pipelineIdGETNr2   r   PIPELINE_BOSACL_URLr-   r@   r>   s      r   bosaclrK   q   s5     !D "" r   c                 F    SUS.n[        U S[        R                  US5      $ )rB   customCodeOutputrD   rG   NrH   rJ   s      r   bosacl_ls_cprN      s5     %!D "" r   
local_fileendpointbucket_namefile_keyaccess_key_idsecret_access_keysession_tokenc                     [        [        XE5      UUS9n[        U5      nUR                  X#R	                  S5      U 5        g)u'   
本地文件 上传至bos指定位置
)credentialsrP   security_token/N)r   r   r   put_object_from_filelstrip)	rO   rP   rQ   rR   rS   rT   rU   bos_conf
bos_clients	            r   
bos_uploadr^      sC     &"=D$H
 8$J ##K1EzRr   
is_succuss	file_namec           	      r    UUUUS.n[        U S[        R                  S[        R                  " U5      5      $ )u$   
创建产线回调, 成功or失败
)rF   successfileKeyfileNamer;   N)r2   r   PIPELINE_CREATE_CALLBACK_URLr"   r=   )r-   r@   r_   rR   r`   r>   s         r   create_callbackrf      sD     "	D ++

4 r   statusc           	      p    UUUS.n[        U S[        R                  S[        R                  " U5      5      $ )u   
查询产线
)rF   pipelineNamestager;   N)r2   r   PIPELINE_QUERY_URLr"   r=   )r-   r@   r3   rg   r>   s        r   queryrl      sA     "D
 !!

4 r   c           	      l    SU0n[        U S[        R                  S[        R                  " U5      5      $ )u   
停止产线
rF   r;   N)r2   r   PIPELINE_STOP_URLr"   r=   rJ   s      r   stopro      s=     	kD   

4 r   )NN)r   r"   r   aistudio_sdkr   r   !baidubce.bce_client_configurationr   baidubce.auth.bce_credentialsr    baidubce.services.bos.bos_clientr   r&   r	   r'   dictr,   r2   r?   rK   rN   r^   boolrf   rl   ro   r   r   r   <module>rv      s     $ D 8 6	y 	!,!,!, !, 	!,H??? ? 	?$  	
    >&*SSS S 	S
 S S S8   	
 2  	.r   