HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/awscli/__pycache__/argparser.cpython-38.pyc
U

<�^��@s�ddlZddlZddlmZddlmZdZdeZGdd�dej�Z	Gdd	�d	ej
�ZGd
d�de�ZGdd
�d
e�Z
Gdd�de�ZdS)�N)�six)�get_close_matcheszbTo see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
zGaws [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__��2/usr/lib/python3/dist-packages/awscli/argparser.pyr's
���zCommandAction.__init__NcCst||j|�dS�N)�setattrr
)r	�parser�	namespace�valuesZ
option_stringrrr�__call__-szCommandAction.__call__cCst|j���Sr)�listr�keys)r	rrrr0szCommandAction.choicescCsdSrr)r	�valrrrr4s)N)
�__name__�
__module__�__qualname__�__doc__rr�propertyr�setter�
__classcell__rrrrr s

rcs0eZdZejZdZdd�Zd�fdd�	Z�Z	S)�CLIArgParser�c
Cs�|jdk	r�||jkr�dg}tt|j��dd|j�D]@}g}|j|||j�D]}|�d|�qP|�d�|��q4t||jdd�}|r�d|g}|D]}	|�d|	�q�|�|�t�	|d	�|���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�possibleZextraZwordrrr�_check_valueDs

zCLIArgParser._check_valueNc
s�tt|��||�\}}ttjdd�}|dkr0d}t|���D]t\}}t|t	j
�rdt|||�|��q<t|t
�r<g}|D],}	t|	t	j
�r�|�|	�|��qv|�|	�qvt|||�q<||fS)N�encodingzutf-8)rr �parse_known_args�getattr�sys�stdin�vars�items�
isinstancerZbinary_typer�decoderr')
r	�argsrZparsedZ	remainingZterminal_encoding�argr,Zencoded�vrrrr3Zs
zCLIArgParser.parse_known_args)N)
rrrr*�RawTextHelpFormatter�	Formatterr&r1r3rrrrrr =sr cs4eZdZejZd�fdd�	Zdd�Zdd�Z�Z	S)	�
MainArgParserNcs0tt|�j|jdd|t|d�|�|||�dS)NF�resolve)�formatter_class�add_help�conflict_handler�description�usage�prog)rr@rr?�USAGE�_build)r	r�version_stringrE�argument_tablerGrrrrss
�zMainArgParser.__init__cCs"d}t|�D]}|d|7}q|S)N�z* %s
)�sorted)r	rZhelp_strr/rrr�_create_choice_help~sz!MainArgParser._create_choice_helpcCsB|D]}||}|�|�q|jdd|dd�|jdt|d�dS)Nz	--version�versionz Display the version of this tool)r+rO�helpZcommand�r+r�Z
add_to_parser�add_argumentr)r	rrJrKZ
argument_name�argumentrrrrI�s��zMainArgParser._build)N)
rrrr*r>r?rrNrIrrrrrr@ps
�r@cs$eZdZ�fdd�Zdd�Z�ZS)�ServiceArgParsercs.tt|�jtjddtd�|�|�||_dS)NFrA)rBrCrDrF)rrUrr*r>rHrIZ
_service_name)r	�operations_tableZservice_namerrrr�s
�
zServiceArgParser.__init__cCs|jdt|d�dS)NZ	operationrQ)rSr)r	rVrrrrI�s�zServiceArgParser._build)rrrrrIrrrrrrU�s	rUcs8eZdZdZd	�fdd�	Zdd�Zd
�fdd�	Z�ZS)�ArgTableArgParserz*CLI arg parser based on an argument table.Ncs6tt|�j|jdtdd�|dkr&i}|�||�dS)NFrA)rBrCrFrD)rrWrr?rHrI)r	rKrrrrr�s
�zArgTableArgParser.__init__cCs6|D]}||}|�|�q|r2|jdt|dd�dS)NZ
subcommand�?)r+r�nargsrR)r	rKrZarg_namerTrrrrI�s�zArgTableArgParser._buildcsDt|�dkr.|ddkr.t��}d|_|gfStt|��||�SdS)N�rrP)r%r*Z	NamespacerPrrWr3)r	r;rrrrr3�s
�z"ArgTableArgParser.parse_known_args)N)N)rrrrrrIr3rrrrrrW�s
rW)r*r5Z
awscli.compatrZdifflibrZ
HELP_BLURBrHZActionr�ArgumentParserr r@rUrWrrrr�<module>
s���3