HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //proc/722141/root/lib/python3.6/site-packages/awscli/__pycache__/argparser.cpython-36.opt-1.pyc
3

�T_��@s�ddlZddlZddlmZddlmZdZdZdeefZGdd�dej	�Z
Gd	d
�d
ej�ZGdd�de�Z
Gd
d�de�ZGdd�de�ZdS)�N)�six)�get_close_matchesaNote: AWS CLI version 2, the latest major version of the AWS CLI, is now stable and recommended for general use. For more information, see the AWS CLI version 2 installation instructions at: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.htmlzbTo see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
zS
%s

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
%scsDeZdZdZ�fdd�Zd
dd�Zedd��Zejd	d��Z�Z	S)�
CommandActionz�Custom action for CLI command arguments

    Allows the choices for the argument to be mutable. The choices
    are dynamically retrieved from the keys of the referenced command
    table
    cs*||_tt|�j||fd|ji|��dS)N�choices)�
command_table�superr�__init__r)�selfZoption_strings�destr�kwargs)�	__class__��/usr/lib/python3.6/argparser.pyr1s
zCommandAction.__init__NcCst||j|�dS)N)�setattrr
)r	�parser�	namespace�valuesZ
option_stringr
r
r�__call__7szCommandAction.__call__cCst|jj��S)N)�listr�keys)r	r
r
rr:szCommandAction.choicescCsdS)Nr
)r	�valr
r
rr>s)N)
�__name__�
__module__�__qualname__�__doc__rr�propertyr�setter�
__classcell__r
r
)rrr*s

rcs0eZdZejZdZdd�Zd�fdd�	Z�Z	S)�CLIArgParser�c
Cs�|jdk	r�||jkr�dg}xbtt|j��dd|j�D]D}g}x*|j|||j�D]}|jd|�qTW|jdj|��q6Wt||jdd�}|r�d|g}x|D]}	|jd|	�q�W|j|�tj	|d	j|���dS)
z�
        It's probably not a great idea to override a "hidden" method
        but the default behavior is pretty ugly and there doesn't
        seem to be any other way to change it.
        Nz#Invalid choice, valid choices are:
z%-40sz | g�������?)�cutoffz'

Invalid choice: %r, maybe you meant:
z  * %s�
)
r�range�len�ChoicesPerLine�append�joinr�extend�argparseZ
ArgumentError)
r	�action�value�msg�iZcurrent�choice�possibleZextraZwordr
r
r�_check_valueNs 


zCLIArgParser._check_valueNc
s�tt|�j||�\}}ttjdd�}|dkr0d}x�t|�j�D]x\}}t|t	j
�rft|||j|��q>t|t
�r>g}x4|D],}	t|	t	j
�r�|j|	j|��qz|j|	�qzWt|||�q>W||fS)N�encodingzutf-8)rr�parse_known_args�getattr�sys�stdin�vars�items�
isinstancerZbinary_typer�decoderr%)
r	�argsrZparsedZ	remainingZterminal_encoding�argr*Zencoded�v)rr
rr1ds

zCLIArgParser.parse_known_args)N)
rrrr(�RawTextHelpFormatter�	Formatterr$r/r1rr
r
)rrrGsrcs4eZdZejZd�fdd�	Zdd�Zdd�Z�Z	S)	�
MainArgParserNcs0tt|�j|jdd|t|d�|j|||�dS)NF�resolve)�formatter_class�add_help�conflict_handler�description�usage�prog)rr>rr=�USAGE�_build)r	r�version_stringrC�argument_tablerE)rr
rr}s
zMainArgParser.__init__cCs&d}xt|�D]}|d|7}qW|S)N�z* %s
)�sorted)r	rZhelp_strr-r
r
r�_create_choice_help�sz!MainArgParser._create_choice_helpcCsFx|D]}||}|j|�qW|jdd|dd�|jdt|d�dS)Nz	--version�versionz Display the version of this tool)r)rM�helpZcommand)r)r)�
add_to_parser�add_argumentr)r	rrHrIZ
argument_name�argumentr
r
rrG�s
zMainArgParser._build)N)
rrrr(r<r=rrLrGrr
r
)rrr>zs
r>cs$eZdZ�fdd�Zdd�Z�ZS)�ServiceArgParsercs.tt|�jtjddtd�|j|�||_dS)NFr?)r@rArBrD)rrRrr(r<rFrGZ
_service_name)r	�operations_tableZservice_name)rr
rr�s

zServiceArgParser.__init__cCs|jdt|d�dS)NZ	operation)r)r)rPr)r	rSr
r
rrG�szServiceArgParser._build)rrrrrGrr
r
)rrrR�s	rRcs8eZdZdZd	�fdd�	Zdd�Zd
�fdd�	Z�ZS)�ArgTableArgParserz*CLI arg parser based on an argument table.Ncs6tt|�j|jdtdd�|dkr&i}|j||�dS)NFr?)r@rArDrB)rrTrr=rFrG)r	rIr)rr
rr�s
zArgTableArgParser.__init__cCs:x|D]}||}|j|�qW|r6|jdt|dd�dS)NZ
subcommand�?)r)r�nargs)rOrPr)r	rIrZarg_namerQr
r
rrG�s
zArgTableArgParser._buildcsDt|�dkr.|ddkr.tj�}d|_|gfStt|�j||�SdS)N�rrN)r#r(Z	NamespacerNrrTr1)r	r9r)rr
rr1�s
z"ArgTableArgParser.parse_known_args)N)N)rrrrrrGr1rr
r
)rrrT�s
rT)r(r3Z
awscli.compatrZdifflibrZAWS_CLI_V2_MESSAGEZ
HELP_BLURBrFZActionr�ArgumentParserrr>rRrTr
r
r
r�<module>
s
3