Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib/python3.7/site-packages/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/__pycache__/args.cpython-37.pyc

B

��Od$�@s�dZddlZddlmZddlmZddlmZdd�Zdd	�ZGd
d�de	�Z
e
�ZejZej
Z
ejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZej Z ej!Z!ej"Z"dS)zH
args
~~~~

This module provides the CLI argument interface for clint.

�N)�argv)�glob)�OrderedDictcCsxg}tj�|�}tj�|�}tj�|�rfxJt�|�D],\}}}x |D]}|�tj�||��qDWq4Wn|�t	|��|S)z,Expands directories and globs in given path.)
�os�path�
expanduser�
expandvars�isdir�walk�append�join�extendr)r�paths�dir�dirs�files�file�r�5/opt/alt/python37/lib/python3.7/site-packages/args.py�_expand_paths
rcCst|t�rdSt|d�S)z8Tests if an object is a collection. Strings don't count.F�__getitem__)�
isinstance�
basestring�hasattr)�objrrr�_is_collection"s
rc@seZdZdZd<dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�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)>�ArgsListzCLI Argument management.NFcCs*|s |stdd�|_q&g|_n||_dS)N�)r�_args)�self�args�no_argvrrr�__init__/s
zArgsList.__init__cCs
t|j�S)N)�lenr)rrrr�__len__9szArgsList.__len__cCsdt|j�S)Nz	<args %s>)�reprr)rrrr�__repr__=szArgsList.__repr__cCs$y
|j|Stk
rdSXdS)N)�all�
IndexError)r�irrrrAs
zArgsList.__getitem__cCs|�|�dk	S)N)�first)r�xrrr�__contains__HszArgsList.__contains__cCs$y
|j|Stk
rdSXdS)z+Returns argument at given index, else none.N)r'r()rr+rrr�getLs
zArgsList.getcCs|j|�|�S)z2Returns first argument that contains given string.)r'�
first_with)rr+rrr�get_withTszArgsList.get_withcs8�fdd�}t|�r,x|D]}||�qWn||�dS)z5Removes given arg (or list thereof) from Args object.cs"��|�}|dk	r�j�|�dS)N)r*r�pop)r+�found)rrr�_remove\s
z ArgsList.remove.<locals>._removeN)r)rr+r2�itemr)rr�removeYs

zArgsList.removecCs&y|j�|�Stk
r dSXdS)z4Removes and Returns value at given index, else none.N)rr0r()rr+rrrr0hszArgsList.popcCst|�|��S)z:Tests if given string is contained in any stored argument.)�boolr.)rr+rrr�any_containpszArgsList.any_containcCs
|�|�S)z\Tests if given object is in arguments list.
           Accepts strings and lists of strings.)r,)rr+rrr�containsvszArgsList.containscsF�fdd�}t|�r:x |D]}||�}|dk	r|SqWdS||�SdS)z<Returns first found index of given value (or list of values)cs*y�j�t|��Stk
r$dSXdS)N)r'�index�str�
ValueError)r+)rrr�_find�szArgsList.first.<locals>._findN)r)rr+r;r3r1r)rrr*}s
zArgsList.firstcsB�fdd�}t|�r6x|D]}||�}|r|SqWdS||�SdS)z>Returns first found index containing value (or list of values)csBy(x"�jD]}||kr
�j�|�Sq
WWntk
r<dSXdS)N)r'r8r:)r+�arg)rrrr;�sz"ArgsList.first_with.<locals>._findN)r)rr+r;r3r1r)rrr.�s
zArgsList.first_withcsB�fdd�}t|�r6x|D]}||�}|r|SqWdS||�SdS)zBReturns first found index not containing value (or list of values)csBy(x"�jD]}||kr
�j�|�Sq
WWntk
r<dSXdS)N)r'r8r:)r+r<)rrrr;�sz%ArgsList.first_without.<locals>._findN)r)rr+r;r3r1r)rr�
first_without�s
zArgsList.first_withoutcCsbg}xP|jD]F}t|�r>x8|D]}|�|�r|�|�PqWq|�|�r|�|�qWt|dd�S)zCReturns all arguments beginning with given string (or list thereof)T)r!)r'r�
startswithrr)rr+rr<�_xrrr�
start_with�s



zArgsList.start_withcCshyNt|�r>x@|D](}||j|ks0||j|kr4dSdSqWn||j|kSWntk
rbdSXdS)z2Tests if given [list of] string is at given index.TFN)rr'r()rr+r8r?rrr�contains_at�s

zArgsList.contains_atcCs(y|j|dStk
r"dSXdS)zUReturns true if argument exists at given index.
           Accepts: integer.
        TFN)r'r()rr+rrr�has�s

zArgsList.hascCsNy4y|j�|�}Wntk
r&dSX|j|dStk
rHdSXdS)zGReturns value of argument after given found argument (or list thereof).Nr)r'r8r:r()rr+r)rrr�value_after�szArgsList.value_aftercCspttdd�d�}d}xV|jD]L}|�d�rB|}|�|tdd��q|rX||j�|�q|dj�|�qW|S)zZExtracts --flag groups from argument list.
           Returns {format: Args, ...}
        T)r!)�_N�-rD)rrr'r>�
setdefaultrr)rZ
collectionZ_current_groupr<rrr�grouped�s
zArgsList.groupedcCs$y
|jdStk
rdSXdS)zReturns last argument.���N)r'r()rrrr�lasts
z
ArgsList.lastcCs|jS)zReturns all arguments.)r)rrrrr'szArgsList.allcCs^g}xL|jD]B}t|�r<x4|D]}||kr|�|�PqWq||kr|�|�qWt|dd�S)z?Returns all arguments containing given string (or list thereof)T)r!)r'rrr)rr+rr<r?rrr�all_with s

zArgsList.all_withcCs^g}xL|jD]B}t|�r<x4|D]}||kr|�|�PqWq||kr|�|�qWt|dd�S)zCReturns all arguments not containing given string (or list thereof)T)r!)r'rrr)rr+rr<r?rrr�all_without2s

zArgsList.all_withoutcCs
|�d�S)z4Returns Arg object including only flagged arguments.rE)r@)rrrr�flagsDszArgsList.flagscCs
|�d�S)z/Returns Arg object excluding flagged arguments.rE)rK)rrrr�	not_flagsKszArgsList.not_flagscCsXg}xN|jD]D}x>t|�D]2}tj�|�r|rB|�tj�|��q|�|�qWqW|S)z@Returns an expanded list of all valid paths that were passed in.)r'rrr�existsr�abspath)rZabsoluteZ_pathsr<rrrrrRszArgsList.filescCsBg}x0|jD]&}tt|��stj�|�s|�|�qWt|dd�S)z8Returns a list of all arguments that aren't files/globs.T)r!)r'r#rrrrNrr)rrr<rrr�	not_filescszArgsList.not_filescCs
t|j�S)z9Returns a copy of Args object for temporary manipulation.)rr')rrrr�copypsz
ArgsList.copy)NF)F)!�__name__�
__module__�__qualname__�__doc__r"r$r&rr,r-r/r4r0r6r7r*r.r=r@rArBrC�propertyrGrIr'rJrKrLrMrrPrQrrrrr,s<



r)#rUr�sysrr�collectionsrrr�objectrr r-r/r4r0r6r7r*r.r=r@rArBrCrGrIr'rJrKrLrMrrPrQrrrr�<module>	sB
M