
    wBf                     6   d dl mZ d dlmZmZmZ d dlmZmZm	Z	m
Z
mZ d dlmZ ddlmZ  ee      Z e       ZeZ e	dd      Z e	d	d      Zefd
ZefdZd ZefdZ G d de      Z eddd      j4                  Zd Zd ZdddZd ZdddZ d Z!d dZ"y)!    )islice)JSONEncoderdumpsloads)	getLoggerINFO	FormatterStreamHandlerDEBUG)stderr   )NullHandlerze[%(levelname)s] [%(asctime)s.%(msecs)03d] %(process)d %(name)s:%(funcName)s(%(lineno)d):
%(message)s
z%Y-%m-%d %H:%M:%SzX[%(levelname)s] [%(asctime)s.%(msecs)03d] %(process)d %(name)s(%(lineno)d): %(message)s
c                 .    t         j                  |        y N)root_logsetLevellevels    1lib/python3.12/site-packages/conda/auxlib/logz.pyset_root_levelr      s    e    c                    t        d t        j                  D              }|sct        t              }d|_        | |j                  |        |j                  | t        k(  rt        nt               t        j                  |       yy)Nc              3   :   K   | ]  }|j                   d k(    yw)r   N)name).0handlers     r   	<genexpr>z attach_stderr.<locals>.<genexpr>   s     W'W\\X5Ws   r   TF)anyr   handlersr
   r   r   r   setFormatterr   DEBUG_FORMATTERINFO_FORMATTER
addHandler)r   has_stderr_handlerr   s      r   attach_stderrr%      sk    WXEVEVWW'U#_NSG$r   c                  z    t         j                  D ](  } | j                  dk(  st         j                  |         y y)Nr   TF)r   r   r   removeHandler)r   s    r   detach_stderrr(   )   s9    $$ <<8#""7+ r   c                     t        |        y r   )r%   r   s    r   initialize_loggingr*   1   s
    %r   c                        e Zd Z fdZ xZS )DumpEncoderc                 Z    t        |d      r|j                         S t        |   |      S )Ndump)hasattrr.   superdefault)selfobj	__class__s     r   r1   zDumpEncoder.default6   s(    388:ws##r   )__name__
__module____qualname__r1   __classcell__)r4   s   @r   r,   r,   5   s    $ $r   r,      FT)indentensure_ascii	sort_keysc                     t        |       S r   )_DUMPSr3   s    r   	jsondumpsr@   @   s    #;r   c                     	 | j                   dz   | j                  j                  z   S # t        $ r | j                  j                  cY S w xY w)N.)r6   r4   r5   AttributeErrorr?   s    r   fullnamerD   D   sD    &~~#cmm&<&<<< &}}%%%&s   %( A
	A
z  z )Hostz
User-Agentc                 V    t         j                  | d   | d   j                               S Nr   )request_header_sort_dictgetloweritems    r   request_header_sort_keyrM   O   s#    #''QaAAr   z~~az~~b)zContent-Length
Connectionc                 V    t         j                  | d   | d   j                               S rG   )response_header_sort_dictrI   rJ   rK   s    r   response_header_sort_keyrQ   W   s#    $((a$q'--/BBr   c                    d }d }fd}	 t        |       }dg}|j                  d      r
 |||        nw|j                  d      r
 |||        n\|j                  d      rJt        | d      r ||| j                         n t
        j                  d	| j                          |||        ny |j                  d       d
j                  |      S # t        $ r}t
        j                  |       Y d }~y d }~ww xY w)Nc           
         | j                  dj                  |j                  |j                  |j                  j                  dd      |j                  d                   | |j                  j                         D cg c]  \  }}| d|  c}}z  } | j                  d       |j                  j                         j                         }|r| j                  |       y y c c}}w )Nz
{} {}{} {}QUERY_STRING SERVER_PROTOCOL: )appendformatmethodpathenvironrI   headersitemsbodyreadstrip)builderbottle_objectkeyvaluer_   s        r   bottle_builderz!stringify.<locals>.bottle_builder\   s    $$""%%))."=!!"34		
 	8M8M8S8S8UV*#use2eW%VVr!!&&(..0NN4   Ws   ?C$c           
         | j                  dj                  |j                  |j                  |j                  j                  dd      d   j                                      | j                  d t        |j                  j                         t              D               | j                  d       |j                  r| j                  |j                         y y )Nz
>>{} {} {}:r   r   c              3   2   K   | ]  \  }}d | d|   yw)z> rW   N r   rd   re   s      r   r   zMstringify.<locals>.requests_models_PreparedRequest_builder.<locals>.<genexpr>s   )      
U Rw
   rd   rU   )rX   rY   rZ   path_urlurlsplitupperextendsortedr]   r^   rM   r_   )rb   request_objects     r   'requests_models_PreparedRequest_builderz:stringify.<locals>.requests_models_PreparedRequest_builderk   s    %%''""((a0399;	
 	 
$^%;%;%A%A%CI`a
 	
 	rNN>../ r   c                    | j                  dj                  |j                  j                  dd      d   j	                         |j
                  |j                               | j                  d t        |j                  j                         t              D               t        |j                        j                  dd      d   }| j                  d|        r| j                  d	       |j                  j                  d
      }|dk(  r|j                  }t!        |      kD  r|}n;t#        |      }t%        t'        |j                                     }t)        |d      }t!        |      kD  r|d  n|}| j                  |       | j                  d	       y |J|j+                  d      s|dk(  r3|j                  }t!        |      kD  r|d  n|}| j                  |       y y y y )Nz
<<{} {} {}rh   r   r   c              3   2   K   | ]  \  }}d | d|   yw)z< rW   Nrj   rk   s      r   r   zFstringify.<locals>.requests_models_Response_builder.<locals>.<genexpr>   rl   rm   rn   z< Elapsed: rU   zContent-Typezapplication/jsonr9   )r:   ztext/zapplication/xml)rX   rY   rp   rq   rr   status_codereasonrs   rt   r]   r^   rQ   strelapsedrI   textlenr   dictr   r   
startswith)rb   response_objectr}   content_typer~   contentrespcontent_max_lens          r    requests_models_Response_builderz3stringify.<locals>.requests_models_Response_builder{   s   ##))#q1!4::<++&&	
 	 
$_%<%<%B%B%DJbc
 	
 o--.44S!<R@WI./NN2*2266~FL11&++t9."G ;Dtzz|_ EFD#D3G7:7|o7U'"2?3[bw'r")|/F/Fw/O2>BS2S&++47I4O$/0UYw' 3T * r   rU   zbottle.zrequests.models.PreparedRequestzrequests.models.Responserequestz1request is 'None' for Response object with url %s
)rD   r   endswithgetattrr   loginforp   rX   join	Exception	exception)r3   r   rf   rv   r   r   rb   es    `      r   	stringifyr   [   s    !0  (D}$??9%7C(]]<=3GSA]]56sI&7MLcggV,Wc:ryy!! as   BC .!C 	C8C33C8N)r   )#	itertoolsr   jsonr   r   r   loggingr   r   r	   r
   r   sysr   rU   r   r5   r   r   r!   r"   r   r%   r(   r*   r,   encoder>   r@   rD   rH   rM   rP   rQ   r   rj   r   r   <module>r      s     * * D D  ;
 _
     " $+ $ 
AET	B	I	I&  B
 %  CTr   