
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
Xf                 @   s   d dl m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 Z	dd Z
ejd	d
Zejdddde
dd ejddddd ejdde	dd ejdde
d dd Zejdd fd d!Zejejfd"d#ZdS )$    )absolute_importN)namedAny)validator_forc             C   s   d| krd|  } t | S )N.zjsonschema.)r   )name r   /usr/lib/python3.6/cli.py_namedAnyWithDefault
   s    r	   c          	   C   s   t | }tj|S Q R X d S )N)openjsonload)pathfiler   r   r   
_json_file   s    
r   zJSON Schema Validation CLI)descriptionz-iz
--instanceappend	instancesz[a path to a JSON instance (i.e. filename.json)to validate (may be specified multiple times))actiondesttypehelpz-Fz--error-formatz"{error.instance}: {error.message}
zthe format to use for each error output message, specified in a form suitable for passing to str.format, which will be called with 'error' for each error)defaultr   z-Vz--validatorzthe fully qualified object name of a validator to use, or, for validators that are registered with jsonschema, simply the name of the class.)r   r   schemaz7the JSON Schema to validate with (i.e. filename.schema))r   r   c             C   s6   t tj| pdgd}|d d kr2t|d |d< |S )Nz--help)args	validatorr   )varsparser
parse_argsr   )r   	argumentsr   r   r   r   ;   s    r      c             C   s   t jtt| dd d S )N)r   )r   )sysexitrunr   )r   r   r   r   mainB   s    r#   c             C   sp   | d }| d | d d}|j | d  d}x>| d p8f D ].}x(|j|D ]}|j|j|d d}qJW q:W |S )	Nerror_formatr   r   )r   Fr   )errorT)Zcheck_schemaZiter_errorswriteformat)r   stdoutstderrr$   r   Zerroredinstancer%   r   r   r   r"   F   s    r"   )Z
__future__r   argparser   r    Zjsonschema._reflectr   Zjsonschema.validatorsr   r	   r   ArgumentParserr   add_argumentr   argvr#   r(   r)   r"   r   r   r   r   <module>   s<   