Your IP : 216.73.216.196
B
��]% � @ sX d Z ddlmZ ddlZddlmZ ddlmZ ddlm Z m
Z
dZG d d
� d
e�Z
dS )zT
clint.arguments
~~~~~~~~~~~~~~~
This module provides the CLI argument interface.
� )�absolute_importN)�argv)�OrderedDict� )�expand_path�
is_collection)�Argsc @ s e Zd ZdZd<dd�Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zed(d)� �Zed*d+� �Zed,d-� �Zd.d/� Zd0d1� Zed2d3� �Zed4d5� �Zed=d6d7��Zed8d9� �Zed:d;� �Z dS )>r zCLI Argument management.NFc C s* |s |st dd � | _q&g | _n|| _d S )Nr )r �_args)�self�args�no_argv� r
�@/opt/alt/python37/lib/python3.7/site-packages/clint/arguments.py�__init__ s
z
Args.__init__c C s
t | j�S )N)�lenr )r
r
r
r �__len__$ s zArgs.__len__c C s dt | j� S )Nz <args %s>)�reprr )r
r
r
r �__repr__( s z
Args.__repr__c C s$ y
| j | S tk
r d S X d S )N)�all�
IndexError)r
�ir
r
r �__getitem__, s
zArgs.__getitem__c C s | � |�d k S )N)�first)r
�xr
r
r �__contains__3 s zArgs.__contains__c C s$ y
| j | S tk
r dS X dS )z+Returns argument at given index, else none.N)r r )r
r r
r
r �get7 s
zArgs.getc C s | j | �|� S )z2Returns first argument that contains given string.)r �
first_with)r
r r
r
r �get_with? s z
Args.get_withc s8 � fdd�}t |�r,x|D ]}||� qW n||� dS )z5Removes given arg (or list thereof) from Args object.c s"