o
    ¯b|  ã                   @   sš   d Z ddlZddlmZ ddlmZmZmZ ddlm	Z	 zddl
ZW n ey2   G dd„ dƒZY nw G dd	„ d	eƒZdde	eef deddfdd„ZdS )z
System exit support.
é    N)ÚIntEnum)ÚexitÚstderrÚstdout)ÚUnionc                   @   sŒ   e Zd ZdZdZdZeZed Zed Zed Z	ed Z
ed Zed	 Zed
 Zed Zed Zed Zed Zed Zed Zed ZdS )ÚStatuszT
        Object to hang C{EX_*} values off of as a substitute for L{posix}.
        é@   r   é   é   é   é   é   é   é   é   é	   é
   é   é   é   é   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚEX__BASEÚEX_OKÚEX_USAGEÚ
EX_DATAERRÚ
EX_NOINPUTÚ	EX_NOUSERÚ	EX_NOHOSTÚEX_UNAVAILABLEÚEX_SOFTWAREÚEX_OSERRÚ	EX_OSFILEÚEX_CANTCREATÚEX_IOERRÚEX_TEMPFAILÚEX_PROTOCOLÚ	EX_NOPERMÚ	EX_CONFIG© r,   r,   úB/usr/lib/python3/dist-packages/twisted/application/runner/_exit.pyr      s&    r   c                   @   sp   e Zd ZdZejZejZejZejZej	Z	ej
Z
ejZejZejZejZejZejZejZejZejZejZdS )Ú
ExitStatusa"  
    Standard exit status codes for system programs.

    @cvar EX_OK: Successful termination.
    @cvar EX_USAGE: Command line usage error.
    @cvar EX_DATAERR: Data format error.
    @cvar EX_NOINPUT: Cannot open input.
    @cvar EX_NOUSER: Addressee unknown.
    @cvar EX_NOHOST: Host name unknown.
    @cvar EX_UNAVAILABLE: Service unavailable.
    @cvar EX_SOFTWARE: Internal software error.
    @cvar EX_OSERR: System error (e.g., can't fork).
    @cvar EX_OSFILE: Critical OS file missing.
    @cvar EX_CANTCREAT: Can't create (user) output file.
    @cvar EX_IOERR: Input/output error.
    @cvar EX_TEMPFAIL: Temporary failure; the user is invited to retry.
    @cvar EX_PROTOCOL: Remote error in protocol.
    @cvar EX_NOPERM: Permission denied.
    @cvar EX_CONFIG: Configuration error.
    N)r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r,   r,   r-   r.   +   s$    
r.   Ú ÚstatusÚmessageÚreturnztyping.NoReturnc                 C   s8   |r| t jkr
t}nt}| |¡ | d¡ t| ƒ dS )zê
    Exit the python interpreter with the given status and an optional message.

    @param status: An exit status. An appropriate value from L{ExitStatus} is
        recommended.
    @param message: An optional message to print.
    Ú
N)r.   r   r   r   ÚwriteÚsysexit)r0   r1   Úoutr,   r,   r-   r   S   s   


r   )r/   )r   ÚtypingÚenumr   Úsysr   r5   r   r   r   Úposixr   ÚImportErrorr.   ÚintÚstrr,   r,   r,   r-   Ú<module>   s   þ$(