o
    tf                     @   s.   d dl Z G dd deZG dd de jZdS )    Nc                   @   s   e Zd ZdS )_BailoutN)__name__
__module____qualname__ r   r   Y/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/json5/arg_parser.pyr      s    r   c                       sX   e Zd ZejZ fddZd fdd	ZdddZddd	ZdddZ	dddZ
  ZS )ArgumentParserc                    sN   ||d< ||d< t j|d< t jd	i | || _d | _| jddddd d S )
Nprogdescriptionformatter_classz-Vz	--version
store_truezprint the version and exit)actionhelpr   )argparseRawDescriptionHelpFormattersuper__init___hostexit_statusadd_argument)selfhostr	   Zdesckwargs	__class__r   r   r      s   

zArgumentParser.__init__Nc                    s,   zt  j||d}W |S  ty   Y d S w )N)args	namespace)r   
parse_argsr   )r   r   r   rargsr   r   r   r   '   s   zArgumentParser.parse_argsc                 C   s   | j j||dd d S )N
)msgstreamend)r   print_)r   messagefiler   r   r   _print_message/      zArgumentParser._print_messagec                 C   s   | j |  |d d S )N)r$   r%   )r&   format_help)r   r%   r   r   r   
print_help2   r'   zArgumentParser.print_helpTc                 C   s"   | j d| j d| d|d d S )N   z	: error: r   )bailout)exitr	   )r   r$   r+   r   r   r   error5   s   "zArgumentParser.errorr   c                 C   s*   || _ |r| j|| jjd |rt d S )N)r%   )r   r&   r   stderrr   )r   statusr$   r+   r   r   r   r,   8   s   zArgumentParser.exit)NN)N)T)r   NT)r   r   r   r   SUPPRESSr   r   r&   r)   r-   r,   __classcell__r   r   r   r   r      s    


r   )r   	Exceptionr   r   r   r   r   r   <module>   s   