o
    iR                     @   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   K/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/json5/arg_parser.pyr      s    r   c                       s\   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                    sR   ||d< ||d< t j|d< t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superr   __init___hostexit_statusadd_argument)selfhostr	   desckwargs	__class__r   r   r      s   


zArgumentParser.__init__Nc                    s0   zt t| j||d}W |S  ty   Y d S w )N)args	namespace)r   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   r!   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_help1   r'   zArgumentParser.print_helpTc                 C   s   | j dd| j|f |d d S )N   z%s: error: %s
)bailout)exitr	   )r   messager+   r   r   r   error4   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,   7   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   