
    -pj                     n    S 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
\5      rg)zA
This module provides a general response class for BCE services.
    N)	iteritems)str)bytes)utils)compat)http_headersc                   R    \ rS rSrSrS rS rS rS rS r	S r
S	 r\S
 5       rSrg)BceResponse   z

    c                 8    [         R                  " 5       U l        g N)r   Expandometadataselfs    Q/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/baidubce/bce_response.py__init__BceResponse.__init__   s        c                 (   [        U5       GH  u  p#UR                  [        R                  " [        R
                  5      5      (       a3  SU[        [        R                  " [        R
                  5      5      S -   n[        R                  " UR                  SS5      5      nUR                  5       [        R                  " [        R                  R                  5       5      :X  a  UR                  S5      n[        U R                  X#5        GM     g)

:param headers:
:return:
bce_N-_")r   
startswithr   convert_to_stringr   
BCE_PREFIXlenr   pythonize_namereplacelowerETAGstripsetattrr   r   headerskvs       r   set_metadata_from_headers%BceResponse.set_metadata_from_headers!   s     g&DA||F44\5L5LMNNQs6#;#;L<S<S#TUVWW$$QYYsC%89AwwyF44\5F5F5L5L5NOOGGCLDMM1( 'r   c                    [        U5       Hp  u  p#UR                  5       [        R                  " [        R
                  R                  5       5      :X  a  UR                  S5      n[        U R                  X#5        Mr     g)r   r   N)	r   r"   r   r   r   r#   r$   r%   r   r&   s       r   'set_metadata_from_headers_no_underlined3BceResponse.set_metadata_from_headers_no_underlined/   sX     g&DAwwyF44\5F5F5L5L5NOOGGCLDMM1( 'r   c                 <    UR                  S5      (       a  [        eg )N__)r   AttributeError)r   items     r   __getattr__BceResponse.__getattr__:   s    ??4    r   c                 .    [         R                  " U 5      $ r   )r   print_objectr   s    r   __repr__BceResponse.__repr__?   s    !!$''r   c                     [        5       nU R                  U R                  5      US'   U R                  US'   U R	                  5       US'   U$ )z

:return: dict
r'   
statusCodebody)dict_to_dictr   status_codeget_body_map)r   results     r   to_mapBceResponse.to_mapB   sI    
  MM$--8y#//|**,vr   c                    U R                   nU(       d  0 $  [        U[        5      (       a  U$ [        U[        5      (       a  UR	                  5       n[
        R                  " U5      $ ! [
        R                  [        4 a    SU0s $ f = f)z=
Deserialize self.raw_data JSON string into a Python object.
raw_content)	raw_data
isinstancer<   r   r$   jsonloadsJSONDecodeError	TypeError)r   contents     r   r?   BceResponse.get_body_mapM   sx     --I	,'4(('3''!--/::g&&$$i0 	,!7++	,s   A) :A) )B
	B
c                 (   [        U [        [        [        45      (       a&  U  Vs/ s H  n[        R                  U5      PM     sn$ [        U [        5      (       a9  U R                  5        VVs0 s H  u  p#U[        R                  U5      _M     snn$ [        U S5      (       a[  U R                  R                  5        VVs0 s H3  u  p#UR                  S5      (       a  M  U[        R                  U5      _M5     snn$ U $ s  snf s  snnf s  snnf )z/
Recursively convert an object to a dictionary
__dict__r   )rF   listtuplesetr
   r=   r<   itemshasattrrN   r   )objir(   r)   s       r   r=   BceResponse._to_dict]   s    
 cD%-..589SK((+S99T"";>99;G;41A{++A..;GGS*%%;><<;M;M;Oi;O41WXWcWcdgWh.A{++A..;Oii J :Gis   D/"DD#D)r   N)__name__
__module____qualname____firstlineno____doc__r   r*   r-   r3   r7   rA   r?   staticmethodr=   __static_attributes__ r   r   r
   r
      s>    ()	)
(	,   r   r
   )r[   rG   future.utilsr   builtinsr   r   baidubcer   r   baidubce.httpr   objectr
   r^   r   r   <module>rd      s/     "     &P& Pr   