Your IP : 18.217.178.196


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/string.cpython-36.opt-2.pyc

3


 \.�@s�dddddddddd	d
dgZdd
lZdZdZdZeeZdZeddZdZdZ	eee	eZ
ddd�Zdd
lZ
ddlmZGdd�de�ZGdd�ded�ZGdd
�d
�Zd
S)�
ascii_letters�ascii_lowercase�ascii_uppercase�capwords�digits�	hexdigits�	octdigits�	printable�punctuation�
whitespace�	Formatter�Template�Nz 	

ZabcdefghijklmnopqrstuvwxyzZABCDEFGHIJKLMNOPQRSTUVWXYZ�
0123456789ZabcdefZABCDEFZ01234567z !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~cCs|pdjdd�|j|�D��S)N� css|]}|j�VqdS)N)�
capitalize)�.0�x�r�/usr/lib64/python3.6/string.py�	<genexpr>0szcapwords.<locals>.<genexpr>)�join�split)�s�seprrrr%s)�ChainMapcs eZdZdZ�fdd�Z�ZS)�_TemplateMetaclassa/
    %(delim)s(?:
      (?P<escaped>%(delim)s) |   # Escape sequence of two delimiters
      (?P<named>%(id)s)      |   # delimiter and a Python identifier
      {(?P<braced>%(id)s)}   |   # delimiter and a braced identifier
      (?P<invalid>)              # Other ill-formed delimiter exprs
    )
    csXtt|�j|||�d|kr$|j}ntjtj|j�|jd�}tj||j	tj
B�|_dS)N�pattern)Zdelim�id)�superr�__init__r�_re�escape�	delimiter�	idpattern�compile�flags�VERBOSE)�cls�name�basesZdctr)�	__class__rrrAs
z_TemplateMetaclass.__init__)�__name__�
__module__�__qualname__rr�
__classcell__rr)r*rr7src@s:eZdZdZdZejZdd�Zdd�Z	dd�Z
d	d
�ZdS)r�$z(?-i:[_a-zA-Z][_a-zA-Z0-9]*)cCs
||_dS)N)�template)�selfr0rrrrXszTemplate.__init__cCsd|jd�}|jd|�jdd�}|s.d}d}n"|tdj|dd���}t|�}td||f��dS)N�invalidT)�keepends��z.Invalid placeholder in string: line %d, col %d���)�startr0�
splitlines�lenr�
ValueError)r1�mo�i�lines�colno�linenorrr�_invalid]s
zTemplate._invalidcsl|std��|^�}t|�dkr(td��|s2|�n|rFt||d��n|d���fdd�}�jj|�j�S)Nz>descriptor 'substitute' of 'Template' object needs an argumentr4zToo many positional argumentsr
csd|jd�p|jd�}|dk	r(t�|�S|jd�dk	r<�jS|jd�dk	rT�j|�td�j��dS)N�named�braced�escapedr2z#Unrecognized named group in pattern)�group�strr"r@r:r)r;rA)�mappingr1rr�convertws
z$Template.substitute.<locals>.convert)�	TypeErrorr9�	_ChainMapr�subr0)�args�kwsrGr)rFr1r�
substituteiszTemplate.substitutecsl|std��|^�}t|�dkr(td��|s2|�n|rFt||d��n|d���fdd�}�jj|�j�S)NzCdescriptor 'safe_substitute' of 'Template' object needs an argumentr4zToo many positional argumentsr
cs||jd�p|jd�}|dk	rByt�|�Stk
r@|j�SX|jd�dk	rV�jS|jd�dk	rl|j�Std�j��dS)NrArBrCr2z#Unrecognized named group in pattern)rDrE�KeyErrorr"r:r)r;rA)rFr1rrrG�s
z)Template.safe_substitute.<locals>.convert)rHr9rIrrJr0)rKrLrGr)rFr1r�safe_substitute�s
zTemplate.safe_substituteN)r+r,r-r"r#r �
IGNORECASEr%rr@rMrOrrrrrMs)�	metaclassc@sVeZdZdd�Zdd�Zddd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�ZdS)rcOsz|std��|^}}y|^}}WnJtk
rjd|kr\|jd�}ddl}|jdtdd�n
td�d�YnX|j|||�S)Nz;descriptor 'format' of 'Formatter' object needs an argument�
format_stringr
z9Passing 'format_string' as keyword argument is deprecated�)�
stacklevelz@format() missing 1 required positional argument: 'format_string')rHr:�pop�warnings�warn�DeprecationWarning�vformat)rK�kwargsr1rRrVrrr�format�s

zFormatter.formatcCs.t�}|j||||d�\}}|j|||�|S)NrS)�set�_vformat�check_unused_args)r1rRrKrZ�	used_args�result�_rrrrY�szFormatter.vformatr
c	Cs�|dkrtd��g}x�|j|�D]�\}}	}
}|r:|j|�|	dk	r |	dkrl|dkrZtd��t|�}	|d7}n|	j�r�|r�td��d}|j|	||�\}}
|j|
�|j||�}|j|
||||d|d�\}
}|j|j	||
��q Wdj
|�|fS)Nr
zMax string recursion exceededr5FzJcannot switch from manual field specification to automatic field numberingr4)�auto_arg_index)r:�parse�appendrE�isdigit�	get_field�add�
convert_fieldr]�format_fieldr)r1rRrKrZr_Zrecursion_depthrbr`Zliteral_text�
field_name�format_spec�
conversion�objZarg_usedrrrr]�s4


zFormatter._vformatcCst|t�r||S||SdS)N)�
isinstance�int)r1�keyrKrZrrr�	get_value�s
zFormatter.get_valuecCsdS)Nr)r1r_rKrZrrrr^szFormatter.check_unused_argscCs
t||�S)N)r[)r1�valuerkrrrriszFormatter.format_fieldcCsN|dkr|S|dkrt|�S|dkr,t|�S|dkr<t|�Stdj|���dS)Nr�r�az"Unknown conversion specifier {0!s})rE�repr�asciir:r[)r1rrrlrrrrhszFormatter.convert_fieldcCs
tj|�S)N)�_stringZformatter_parser)r1rRrrrrcszFormatter.parsec	CsNtj|�\}}|j|||�}x(|D] \}}|r:t||�}q"||}q"W||fS)N)rwZformatter_field_name_splitrq�getattr)	r1rjrKrZ�first�restrmZis_attrr<rrrrf(szFormatter.get_fieldN)r
)r+r,r-r[rYr]rqr^rirhrcrfrrrrr�s
5	)N)�__all__rwr
rrrrrrr	rr�rer �collectionsrrI�typerrrrrrr�<module>s$


`