й¼]N. ã @ sõ d d d d d d d d d d d
d g Z d d
l Z d Z d Z d Z e e Z d Z e d d Z d Z d Z e e e e Z
d
d d „ Z d d
l Z
d d l m Z Gd d „ d e ƒ Z Gd d „ d d e ƒZ Gd d
„ d
ƒ Z d
S)Ú
ascii_lettersÚascii_lowercaseÚascii_uppercaseÚcapwordsÚdigitsÚ hexdigitsÚ octdigitsÚ printableÚpunctuationÚ
whitespaceÚ FormatterÚTemplateé Nz
ÚabcdefghijklmnopqrstuvwxyzÚABCDEFGHIJKLMNOPQRSTUVWXYZÚ
0123456789ZabcdefZABCDEFÚ01234567z !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~c C s) | p d j d d „ | j | ƒ Dƒ ƒ S)Nú c s s | ] } | j ƒ Vq d S)N)Ú
capitalize)Ú.0Úx© r ú+/opt/alt/python35/lib64/python3.5/string.pyú 0 s zcapwords..)ÚjoinÚsplit)ÚsÚsepr r r r % s )ÚChainMapc s( e Z d Z d Z ‡ f d d † Z ‡ S)Ú_TemplateMetaclassa/
%(delim)s(?:
(?P%(delim)s) | # Escape sequence of two delimiters
(?P%(id)s) | # delimiter and a Python identifier
{(?P%(id)s)} | # delimiter and a braced identifier
(?P) # Other ill-formed delimiter exprs
)
c s t t | ƒ j | | | ƒ d | k r4 | j } n( t j d t j | j ƒ d | j i } t j | | j t j
Bƒ | _ d S)NÚpatternÚdelimÚid)Úsuperr Ú__init__r Ú_reÚescapeÚ delimiterÚ idpatternÚcompileÚflagsÚVERBOSE)ÚclsÚnameÚbasesÚdctr )Ú __class__r r r# A s z_TemplateMetaclass.__init__)Ú__name__Ú
__module__Ú__qualname__r r# r r )r/ r r 7 s r c @ sU e Z d Z d Z d Z e j Z d d „ Z d d „ Z d d „ Z
d d
„ Z d S)r ú$z[_a-z][_a-z0-9]*c C s
| | _ d S)N)Útemplate)Úselfr4 r r r r# T s zTemplate.__init__c C sŒ | j d ƒ } | j d | … j d d ƒ } | sC d } d } n/ | t d j | d d … ƒ ƒ } t | ƒ } t d | | f ƒ ‚ d S)NÚinvalidÚkeependsTé Ú z.Invalid placeholder in string: line %d, col %déÿÿÿÿ)Ústartr4 Ú
splitlinesÚlenr Ú
ValueError)r5 ÚmoÚiÚlinesÚcolnoÚlinenor r r Ú_invalidY s #zTemplate._invalidc sœ | s t d ƒ ‚ | ^ ‰ } t | ƒ d k r<