o
    tfI	                     @  s2  U d Z ddlmZ ddlZddlmZ ddlZddlmZmZ ddl	m
Z
 ddlmZ dd	lmZ eed
r9ejnejZeejdZedZeeZedZeeZedZeeZed eed eed eiZdd eeefD Zee
  Z de!d< eee edZ"eee edZ#dddZ$dS )zEvent validators.    )annotationsN)Any)Draft7ValidatorValidationError)Registry)DRAFT7   )yamlFORMAT_CHECKERZschemaszevent-metaschema.ymlzevent-core-schema.ymlzproperty-metaschema.ymlz$idc                 C  s   g | ]}t |qS  )r   Zcreate_resource).0Zeachr   r   b/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/jupyter_events/validators.py
<listcomp>&   s    r   zRegistry[Any]METASCHEMA_REGISTRY)schemaregistryZformat_checkerr   dict[str, Any]returnNonec              
   C  st   zt |  W dS  ty9 } z%d}|t|v r3t||}t|d|  }| d}t|||d}~ww )zValidate a schema dict.z does not match '^(?!__.*)'Nz is an invalid property name because it starts with `__`. Properties starting with 'dunder' are reserved as special meta-fields for Jupyter Events to use.)JUPYTER_EVENTS_SCHEMA_VALIDATORvalidater   strfindstrip)r   errZreserved_property_msgidxZbad_propertymsgr   r   r   validate_schema9   s   
r   )r   r   r   r   )%__doc__
__future__r   pathlibtypingr   Z
jsonschemar   r   Zreferencingr   Zreferencing.jsonschemar    r	   hasattrr
   Zdraft7_format_checkerPath__file__parentjoinpathZMETASCHEMA_PATHZEVENT_METASCHEMA_FILEPATHloadZEVENT_METASCHEMAZEVENT_CORE_SCHEMA_FILEPATHZEVENT_CORE_SCHEMAZPROPERTY_METASCHEMA_FILEPATHZPROPERTY_METASCHEMAZSCHEMA_STORE	resourcesr   __annotations__r   ZJUPYTER_EVENTS_CORE_VALIDATORr   r   r   r   r   <module>   sN    





