a
    &ñ»j]  ã                   @  s  d dl mZ d dlZd dlZd dlZd dlmZmZmZ dZ	dZ
dddœd	d
„ZeddgƒZedgƒZerpeZnd dlZeZdejfddddœdd„Zd.ddœdddddœdd„Zd/ddœdddddœdd„Zd0dddd œd!d"„Zd#dd$œd%d&„Zd'd(d$œd)d*„Zdd+œd,d-„ZdS )1é    )ÚannotationsN)ÚAnyÚAnyStrÚUnionzL[%(asctime)s] %(levelname)-8s %(name)s:%(funcName)s:%(lineno)d - %(message)sz%Y-%m-%d %H:%M:%SzUnion[str, list[str]]r   )ÚnameÚreturnc              	   C  sT   t | tƒr| n| g}|D ]6}t |tƒrzt |¡}|W   S  tyL   Y q0 qd S ©N)Ú
isinstanceÚlistÚstrÚ	importlibÚimport_moduleÚImportError)r   ÚmodulesÚmodule_nameÚmodule© r   ú8E:\soccer\ml_env\Lib\site-packages\tls_requests/utils.pyr      s    


r   Zcharset_normalizerÚchardetÚorjsonZTLSRequestsr   zUnion[int, str]zlogging.Logger)r   Úlevelr   c                 C  sH   t  | ¡}| |¡ |jsDt  ¡ }t jttd�}| |¡ | 	|¡ |S )N)Údatefmt)
ÚloggingÚ	getLoggerÚsetLevelÚhandlersÚStreamHandlerÚ	FormatterÚFORMATÚDATE_FORMATÚsetFormatterÚ
addHandler)r   r   ÚloggerÚhandlerÚ	formatterr   r   r   Ú
get_logger"   s    



r%   úutf-8F)ÚlowerÚboolÚbytes)ÚvalueÚencodingr'   r   c                C  s"   t | ttfƒr| S t| |ƒ |¡S r   )r	   r)   Ú	bytearrayÚto_strÚencode©r*   r+   r'   r   r   r   Úto_bytes/   s    r0   c                C  sž   | d u rdS t | ttfƒr$|  |¡n| } t | ttttfƒrxtt | tƒrJ| nt| ƒfi tt	|ƒ 
¡ dkrjdndt	d�¤Ž} t | tƒr†d}|r–t	| ƒ 
¡ S t	| ƒS )NÚ ÚasciiTF)Úensure_asciiÚdefault)r	   r)   r,   ÚdecodeÚdictr
   ÚtupleÚsetÚ
json_dumpsr   r'   r(   r/   r   r   r   r-   5   s"    ÿþþ
r-   zUnion[dict, str, bytes])r*   r+   r   c                 C  s   t  t| |ƒ¡ |¡S r   )Úbase64Ú	b64encoder0   r5   )r*   r+   r   r   r   Ú	to_base64Q   s    r<   r   )r*   r   c                 C  s
   t  | ¡S r   )r:   Ú	b64decode)r*   r   r   r   r=   U   s    r=   zUnion[str, bytes]r6   c                 K  sF   t | tƒr| S ztj| fi |¤Ž}|W S  tjy@   tj‚Y n0 d S r   )r	   r6   ÚjsonlibÚloadsÚJSONDecodeError©r*   ÚkwargsZ	json_datar   r   r   Úto_jsonY   s    
rC   )r   c                 K  s`   z@t rd| dd ¡i}tj| fi |¤Ž}t|tƒr<| d¡}|W S  tjyZ   tj‚Y n0 d S )Nr4   r&   )r   Úpopr>   Údumpsr	   r)   r5   r@   rA   r   r   r   r9   c   s    

r9   )r&   )r&   )r&   )Ú
__future__r   r:   r   r   Útypingr   r   r   r   r   r   r   r   r>   ÚjsonÚINFOr%   r0   r-   r<   r=   rC   r9   r   r   r   r   Ú<module>   s.   
 þü
