
    ZTh                     F    d dl mZmZmZ d dlmZ dZdZdZ G d de	      Z
y)	    )AnyListOptional)Selfz  z---z- c                   j     e Zd ZU dZeed<   def fdZe	 d
dededede	e
e      def
d	       Z xZS )YamlConfigErrorzA
    When the YAML config has missing or invalid properties.
    messagec                 $    t         |   |       y N)super__init__)selfr	   	__class__s     h/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_py/ingestion/config/yaml/error.pyr   zYamlConfigError.__init__   s    !    actual_valuekey_nameexpected_type	ancestorsreturnc           	      :   d|j                  t               d| dt        |      j                   dt         d	}|t        |      dk(  r | | | d| d      S d	}d}|D ]  }|t        |z   | d
z  }|dz  } |t        |z   | d| dz  }| | }	 | |	      S )Nz
Expected 'z	' to be <z> but it is <z>

r   z: <> z:
   )lstrip_LIST_ITEM_PREFIXtype__name__	_YAML_SEPlen_PREFIX)
clsr   r   r   r   headerkey_value_pathcurrent_indentation_levelancestoroutputs
             r   _invalid_propertyz!YamlConfigError._invalid_property   s    hoo.?@A=/Yfgklxgy  hC  hC  gD  DG  HQ  GR  RT  UI! 3&(3}oQ?@@$%!! 	+H+D!D EhZsSSN%*%	+ 	W'@@A(3}o]^__8N+,6{r   r   )r   
__module____qualname____doc__str__annotations__r   classmethodr   r   r   r   r)   __classcell__)r   s   @r   r   r   
   sm     L" "  *.  	
 DI& 
 r   r   N)typingr   r   r   typing_extensionsr   r"   r    r   	Exceptionr    r   r   <module>r5      s*    & & "
	 "i "r   