
    Xh                       d Z ddlmZ ddlZddlZddlZddl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mZmZ  ej.                         dk(  Z G d d      Z G d d      Z e
       Z e
d      Z ej:                          ej<                         dd              Z ej@                          ejB                  d      ejD                  dd                     Z#ejI                  e#       y)zThe cli for jupyter events.    )annotationsN)ValidationError)Console)JSON)escape)Padding)Style)EventSchemaEventSchemaFileAbsentEventSchemaLoadingErrorWindowsc                       e Zd ZdZdZdZdZdZy)RCzReturn code enum.r            N)__name__
__module____qualname____doc__OKINVALID
UNPARSABLE	NOT_FOUND     F/var/www/html/myenv/lib/python3.12/site-packages/jupyter_events/cli.pyr   r      s    	
BGJIr   r   c                  *    e Zd ZdZerdndZerdZydZy)EMOJIzTerminal emoji enumXXu   ❌r   u   ✔N)r   r   r   r   WINXr   r   r   r   r   r      s    AB(Br   r   T)stderrc                      y)a  A simple CLI tool to quickly validate JSON schemas against
    Jupyter Event's custom validator.

    You can see Jupyter Event's meta-schema here:

        https://raw.githubusercontent.com/jupyter/jupyter_events/main/jupyter_events/schemas/event-metaschema.yml
    Nr   r   r   r   mainr%   )   s    r   schemac                   t         j                  dt        d             d}	 t        j                  |      }|+t        j                  |      }	 t        j                  |      }t        t        j                   |            }t         j                  t#        |d             	 t        |       t         j                  dt        d	             t#        d
t$        j&                   dd      }t         j                  |       | j                  t        j&                        S # t
        $ r Y w xY w# t
        t        f$ rA}t        j                  d|        | j                  t        j                        cY d}~S d}~ww xY w# t(        $ r}t        j                  dt        d             t        j                  dt$        j*                   d       t        j                  d       t-        t/        |            }t        j                  t#        |d             | j                  t        j0                        cY d}~S d}~ww xY w)zzValidate a SCHEMA against Jupyter Event's meta schema.

    SCHEMA can be a JSON/YAML string or filepath to a schema.
    zValidating the following schemablue)color)styleNz[bold red]ERROR[/]: )r   r   r      Resultsgreenz[green]z([white] Nice work! This schema is valid.)r   r   r   r   redz[red]z& [white]The schema failed to validate.z/
We found the following error with your schema:)consoleruler	   r
   _load_schemar   pathlibPathr   error_consoleprintexitr   r   r   jsondumpsr   r   r   r   r"   r   strr   )ctxr&   _schemaschema_patheschema_jsonouterrs           r   validaterA   5   s    LL2%f:MLNG**62 ll6*	+!..{;G tzz'*+KMM'+|45$GYe'&:;z)QRT`acxx3 #  	 ()>? 	+ "6qc :;88BMM**		+   $9E,>?eEGG9,RSTNOSXGC67xx

##$sO   D# D2 %A=F #	D/.D/2F6E=7F=F	IB.I<II)returnNone)r:   zclick.Contextr&   r9   rB   int)%r   
__future__r   r7   r2   platformclick
jsonschemar   rich.consoler   	rich.jsonr   rich.markupr   rich.paddingr   
rich.styler	   jupyter_events.schemar
   r   r   systemr!   r   r   r/   r4   groupversion_optionr%   commandargumentpass_contextrA   add_commandr   r   r   <module>rV      s    ! "     &        ] ]hoo9$ # # )t$    +$   +$\    r   