o
    h                     @   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
dedededededeegef defddZdddd	e jd
de	eef dededededeegef def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   e/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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 u r|r| drn|r| drtj}ntd| |p"tj}|tjkr6t| tr2| |} || S |tjkrQ|sAtdt| trH| n| 	 }t
|S td| )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   bbr   r   r   load_str_bytes   s"   	






r"   pathc                C   sN   t | } |  }|d u r| jdv 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   pydantic.v1.typesr   strr   r    boolr"   r&   r   r   r   r   <module>   s^    
#
