o
    tf                     @   sz   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	m
Z
 e Zde jddfdd	Zd
e jddfddZdd ZdS )    N)ValidationError)Console   )TrackViewViewconfschema_json_returnc                 C   s   t tdd d S )N   )indent)console
print_jsonr   )r	    r   [/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/higlass_schema/cli.pyexport   s   r   argsc                 C   s   z+| j dkrdtj }ttt  | n
ttt  	| j  t
jddd W d S  tyT   d}| jrBt
j|dd t
  t
j| ddd td	 Y d S w )
N-
u   ✅ valid viewconf.green)styleu   ❌ Invalid viewconf.yellowz@ Run [white]`hgschema check --verbose`[/white] for more details.r   )pathjoinsysstdin	readlinesr   r   r   Z	parse_raw
parse_filer   printr   verboseprint_exceptionexit)r   rawmsgr   r   r   check   s"   
r$   c                  C   s   t  } | jdd}d|_|d}|jtd |d}|d |jdd	d
 |jtd | 	t
jdd  }|| d S )Ncommand)destTr   )funcr$   r   z	--verbose
store_true)actionr   )argparseArgumentParseradd_subparsersrequired
add_parserset_defaultsr   add_argumentr$   
parse_argsr   argvr'   )parserZ
subparsersZparser_exportZparser_checknsr   r   r   main%   s   


r5   )r*   r   Zpydanticr   Zrich.consoler   Zschemar   r   r   r   r   	Namespacer   r$   r5   r   r   r   r   <module>   s    