B
    e]                 @   s6   d Z ddlZddlZddlZdd Zedkr2e  dS )a  Command-line tool to validate and pretty-print JSON

Usage::

    $ echo '{"json":"obj"}' | python -m json.tool
    {
        "json": "obj"
    }
    $ echo '{ 1.2:3.4}' | python -m json.tool
    Expecting property name enclosed in double quotes: line 1 column 3 (char 2)

    Nc        	      C   s   d} d}t j| |d}|jddt  dd |jddt d	d
d |jddddd | }|jphtj}|jpttj	}|j
}|@ yt|}W n* tk
r } zt|W d d }~X Y nX W d Q R X |" tj|||dd |d W d Q R X d S )Nzpython -m json.toolzZA simple command line interface for json module to validate and pretty-print JSON objects.)progdescriptioninfile?z-a JSON file to be validated or pretty-printed)nargstypehelpoutfilewz%write the output of infile to outfilez--sort-keys
store_trueFz5sort the output of dictionaries alphabetically by key)actiondefaultr      )	sort_keysindent
)argparseArgumentParseradd_argumentZFileType
parse_argsr   sysstdinr	   stdoutr   jsonload
ValueError
SystemExitdumpwrite)	r   r   parserZoptionsr   r	   r   obje r"   lib/python3.7/json/tool.pymain   s*    
$r$   __main__)__doc__r   r   r   r$   __name__r"   r"   r"   r#   <module>   s   