File: //lib/python3/dist-packages/awscli/customizations/__pycache__/arguments.cpython-310.pyc
o
.&�a � @ s` d dl Z d dlmZ d dlZdd� Zdd� ZG dd� de�ZG d d
� d
e�ZG dd� de�ZdS )
� N)�CustomArgumentc C sN | du rdS t j�t j�| ��}t �t j�t j�|��t j�s%td| ��|S )z=Asserts that a path is writable and returns the expanded pathNzUnable to write to file: %s) �os�path�
expanduser�
expandvars�access�dirname�abspath�W_OK�
ValueError)r �outfile� r
�A/usr/lib/python3/dist-packages/awscli/customizations/arguments.py�resolve_given_outfile_path s r c C s | d d dk S )z-Returns True if a parsed result is successful�ResponseMetadata�HTTPStatusCodei, r
)�
parsed_resultr
r
r �is_parsed_result_successful s r c s8 e Zd ZdZddiZ� fdd�Zdd� Zdd � Z� ZS )
�OverrideRequiredArgsArgumenta� An argument that if specified makes all other arguments not required
By not required, it refers to not having an error thrown when the
parser does not find an argument that is required on the command line.
To obtain this argument's property of ignoring required arguments,
subclass from this class and fill out the ``ARG_DATA`` parameter as
described below. Note this class is really only useful for subclassing.
�namezno-required-argsc s* || _ | �� tt| �jdi | j�� d S )Nr
)�_session�_register_argument_action�superr �__init__�ARG_DATA)�self�session�� __class__r
r r 7 s z%OverrideRequiredArgsArgument.__init__c C s | j �d| j� d S )Nz%before-building-argument-table-parser)r �register�override_required_args�r r
r
r r <