
    9i]                         S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  \R&                  " \5      r " S S\5      rg)z.
This module provides a client class for VCA.
    N)str)bytes)compat)bce_v1_signer)BceBaseClient)bce_http_client)handler)http_methods)requiredc                   "   \ rS rSrSrSS jr\" \\4S9S 5       r	\" \\4S9S 5       r
\" \\4S9SS j5       r\" \\4S9S	 5       r\" \\4S9   SS
 j5       r\" \\4S9SS j5       r\" \\4\\4S9SS j5       r\S 5       r   SS jrSrg)	VcaClient"   z
vca client
Nc                 0    [         R                  " X5        g N)r   __init__)selfconfigs     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/baidubce/services/vca/vca_client.pyr   VcaClient.__init__'   s    t,    )sourcec                 D    U R                  [        R                  SSU0S9$ )zz
Get image abstract analyze result
:param source: image source
:type source: string or unicode
:return: **Http Response**
   /v1/abstract   sourceparams_send_requestr
   GETr   r   s     r   get_image_abstractVcaClient.get_image_abstract*   s.     !!,"2"2O*3V)< " > 	>r   c                 p    SU0nU R                  [        R                  S[        R                  " U5      S9$ )z
Analyze a image abstract sync.
:param source: image source
:type source: string or unicode
:param preset: analyze preset name
:type preset: string or unicode
:return: **Http Response**
r   r   )bodyr   r
   PUTjsondumps)r   r   r$   s      r   put_image_abstractVcaClient.put_image_abstract5   s:     f
 !!,"2"2O$**UYJZ![[r   c                     SU0nUb  X#S'   U R                  [        R                  S[        R                  " U5      SS0S9$ )z
Analyze a image sync.
:param source: image source
:type source: string or unicode
:param preset: analyze preset name
:type preset: string or unicode
:return: **Http Response**
r   presets	   /v2/images   sync )r$   r   r%   )r   r   r,   r$   s       r   	put_imageVcaClient.put_imageD   sP     f
 #N!!,"2"2LtzzRVGWahjl`m!nnr   c                 F    U R                  [        R                  SUSS.S9$ )zy
cancel a media analyze by source
:param source: media source
:type source: string or unicode
:return: **Http Response**
	   /v2/mediar-   )r   s   cancelr   )r   r
   r&   r    s     r   cancelVcaClient.cancelU   s)     !!,"2"2LU[hjIk!llr   c
                     SU0n
Ub  X*S'   Ub  X:S'   Ub  XJS'   Ub  XZS'   Ub  XjS'   Ub  XzS'   Ub  XS'   U R                  [        R                  S	[        R                  " U
5      U	S
9$ )a5  
Analyze a media.
:param source: media source
:type source: string or unicode
:param preset: analyze preset name
:type preset: string or unicode
:param notification: notification name
:type notification: string or unicode
:param priority: priority
:type priority: integer
:param title: media title
:type title: string or unicode
:param sub_title: media subtitle
:type sub_title: string or unicode
:param category: media category
:type category: string or unicode
:param description: media description
:type description: string or unicode
:return: **Http Response**
r   r,   notificationprioritytitlesubTitlecategorydescriptionr1   )r$   r   r%   )r   r   r,   r5   r6   r7   	sub_titler9   r:   r   r$   s              r   	put_mediaVcaClient.put_media_   s    2 f
 #N##/ '!M ('""-!!,"2"2L'+zz$'7)/ " 1 	1r   c                 F    U R                  [        R                  SSU0US9$ )z
Get analyze result, make sure called put_media before calling get_media
:param source: media source
:type source: string or unicode
:return: **Http Response**
r1   r   r   r   r   )r   r   r   s      r   	get_mediaVcaClient.get_media   s1     !!,"2"2L*3V)<)/ " 1 	1r   )r   typec                 t    U R                  [        R                  S[        R                  " U5      -  SU0US9$ )z
Get sub task result for specified source of directed type
:param source: media source
:type source: string or unicode
:param type: sub task type
:type type: string or unicode
:return: **Http Response**
s   /v2/media/%sr   r?   )r   r
   r   r   convert_to_bytes)r   r   rB   r   s       r   get_sub_taskVcaClient.get_sub_task   sB     !!,"2"2"1F4K4KD4Q"Q*3V)<)/ " 1 	1r   c                     Uc  U R                   $ [        R                  " U R                   5      nUR                  U5        U$ r   )r   copymerge_non_none_values)r   r   
new_configs      r   _merge_configVcaClient._merge_config   s7    >;;4;;/J,,V4r   c           
          U R                  X5      nUc  [        R                  n[        R                  " U[
        R                  [        R                  U/XX4U5      $ r   )rK   r	   
parse_jsonr   send_requestr   signparse_error)r   http_methodpathr$   headersr   r   body_parsers           r   r   VcaClient._send_request   sW    
 ##D1!,,K++M&&)<)<k(Jtf6 	6r    r   )NNNNNNNN)NNNNN)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r!   r)   r.   r2   r<   r@   rE   staticmethodrK   r   __static_attributes__rW   r   r   r   r   "   s   - eS\"> #> eS\"\ #\ eS\"o #o  eS\"m #m eS\"IM7;+/*1 #*1X eS\"	1 #	1 eS\51 61   -1	6r   r   )r\   rH   r'   loggingbuiltinsr   r   baidubcer   baidubce.authr   baidubce.bce_base_clientr   baidubce.httpr   r	   r
   baidubce.utilsr   	getLoggerrX   _loggerr   rW   r   r   <module>rh      sN          ' 2 ) ! & #


H
%Y6 Y6r   