U
    nËjÏ	  ã                
   @  sò   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZ d dlmZ ddlmZ e
speZG d	d
„ d
eeƒZeddd�ddddejdœddddddddœdd„ƒZeddd�ddddejdœddddddddœdd„ƒZdS )é    )ÚannotationsN)ÚEnum)ÚPath)ÚTYPE_CHECKINGÚAnyÚCallable)Ú
deprecatedé   )ÚPydanticDeprecatedSince20c                   @  s   e Zd ZdZdZdS )ÚProtocolÚjsonÚpickleN)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   ú=/tmp/pip-unpacked-wheel-zvl9l234/pydantic/deprecated/parse.pyr      s   r   ú`load_str_bytes` is deprecated.)ÚcategoryÚutf8F)Úcontent_typeÚencodingÚprotoÚallow_pickleÚ
json_loadszstr | bytesz
str | NoneÚstrzProtocol | NoneÚboolzCallable[[str], Any]r   )Úbr   r   r   r   r   Úreturnc                C  sÄ   t jdtdd� |d krL|rL| d¡r(n$|r>| d¡r>tj}ntd|› �ƒ‚|pTtj}|tjkr|t| t	ƒrt|  
|¡} || ƒS |tjkr²|s’tdƒ‚t| t	ƒr | n|  ¡ }t |¡S td|› �ƒ‚d S )	Nr   r	   ©r   Ú
stacklevel)r   Z
javascriptr   zUnknown content-type: z4Trying to decode with pickle with allow_pickle=FalsezUnknown protocol: )ÚwarningsÚwarnr
   Úendswithr   r   Ú	TypeErrorr   Ú
isinstanceÚbytesÚdecodeÚRuntimeErrorÚencodeÚloads)r   r   r   r   r   r   Zbbr   r   r   Úload_str_bytes   s$    







r+   ú`load_file` is deprecated.z
str | Path)Úpathr   r   r   r   r   r   c                C  s^   t jdtdd� t| ƒ} |  ¡ }|d krJ| jdkr:tj}n| jdkrJtj}t	||||||d�S )Nr,   r	   r   )z.jsz.jsonz.pkl)r   r   r   r   r   )
r!   r"   r
   r   Ú
read_bytesÚsuffixr   r   r   r+   )r-   r   r   r   r   r   r   r   r   r   Ú	load_file;   s     


     ÿr0   )Ú
__future__r   r   r   r!   Úenumr   Úpathlibr   Útypingr   r   r   Ztyping_extensionsr   r
   ÚDeprecationWarningr   r   r*   r+   r0   r   r   r   r   Ú<module>   s2   
ù !
ù