U
    ={f                  	   @   s   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 G dd deeZdddd	e jd
eeeeeeegef edddZdddd	e jd
e	eef eeeeeegef edddZdS )    N)Enum)Path)AnyCallableUnion)StrBytesc                   @   s   e Zd ZdZdZdS )ProtocoljsonpickleN)__name__
__module____qualname__r	   r
    r   r   P/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/pydantic/v1/parse.pyr   
   s   r   utf8F)content_typeencodingprotoallow_pickle
json_loads)br   r   r   r   r   returnc                C   s   |d kr<|r<| drn$|r.| dr.tj}ntd| |pDtj}|tjkrlt| trd| |} || S |tjkr|stdt| tr| n| 	 }t
|S td| d S )N)r	   
javascriptr
   zUnknown content-type: z4Trying to decode with pickle with allow_pickle=FalsezUnknown protocol: )endswithr   r
   	TypeErrorr	   
isinstancebytesdecodeRuntimeErrorencodeloads)r   r   r   r   r   r   Zbbr   r   r   load_str_bytes   s"    	






r!   )pathr   r   r   r   r   r   c                C   sN   t | } |  }|d kr:| jdkr*tj}n| jdkr:tj}t||||||dS )N)z.jsz.jsonz.pkl)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    	

     r%   )r	   r
   enumr   pathlibr   typingr   r   r   Zpydantic.v1.typesr   strr   r    boolr!   r%   r   r   r   r   <module>   sD   #
