o
    ih                     @   s   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ G d
d dZG dd deZG dd deZG dd deZdS )zJSONSchema spec readers module.    )Path)Any)Hashable)Mapping)Tuple)all_urls_handler)file_handler)SupportsReadc                   @   s*   e Zd Zdeeeef ef fddZdS )
BaseReaderreturnc                 C   s   t N)NotImplementedErrorself r   ]/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/jsonschema_path/readers.pyread   s   zBaseReader.readN)	__name__
__module____qualname__r   r   r   r   strr   r   r   r   r   r
      s    "r
   c                   @   8   e Zd ZdefddZdeeeef e	f fddZ
dS )
FileReaderfileobjc                 C   
   || _ d S r   )r   )r   r   r   r   r   __init__      
zFileReader.__init__r   c                 C   s   t | jdfS )N )r   r   r   r   r   r   r      s   zFileReader.readN)r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r          "r   c                   @   r   )
PathReaderpathc                 C   r   r   )r    )r   r    r   r   r   r      r   zPathReader.__init__r   c                 C   s0   | j  std| j  | j  }t||fS )NzNo such file: )r    is_fileOSErroras_urir   )r   urir   r   r   r      s   

zPathReader.readN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r   r   c                       s"   e Zd Zdef fddZ  ZS )FilePathReader	file_pathc                    s   t | }t | d S r   )r   absolutesuperr   )r   r&   r    	__class__r   r   r   (   s   zFilePathReader.__init__)r   r   r   r   r   __classcell__r   r   r)   r   r%   '   s    r%   N)__doc__pathlibr   typingr   r   r   r   jsonschema_path.handlersr   r   "jsonschema_path.handlers.protocolsr	   r
   r   r   r%   r   r   r   r   <module>   s    