Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/enum.cpython-35.opt-2.pyc



]V@sddlZddlmZddlmZmZdddgZddZd	d
ZddZ	d
dZ
GdddeZdZ
GdddeZGddddeZ
Gdddee
ZddZddZdS)N)OrderedDict)MappingProxyTypeDynamicClassAttributeEnumIntEnumuniquecCs+t|dp*t|dp*t|dS)N__get____set__
__delete__)hasattr)objr
)/opt/alt/python35/lib64/python3.5/enum.py_is_descriptorsrcCsl|dd|ddko+dknok|dddkok|dddkokt|dkS)	N___r)len)namer
r
r
_is_dunders0rcCs`|d|dkodkno_|dddko_|dddko_t|dkS)Nrrrrr)r)rr
r
r
_is_sunders$rcCs"dd}||_d|_dS)NcSstd|dS)Nz%r cannot be pickled)	TypeError)selfprotor
r
r_break_on_call_reduce"sz6_make_class_unpicklable.<locals>._break_on_call_reducez	<unknown>)
__reduce_ex__
__module__)clsr r
r
r_make_class_unpicklable s	r$cs4eZdZfddZfddZS)	_EnumDictcstjg|_dS)N)super__init__
_member_names)r)	__class__r
rr'/s
z_EnumDict.__init__cst|rtdnmt|r*n^||jkrLtd|n<t|s||krxtd|||jj|tj||dS)Nz(_names_ are reserved for future Enum usezAttempted to reuse key: %rzKey already defined as: %r)	r
ValueErrorrr(rrappendr&__setitem__)rkeyvalue)r)r
rr,3s	z_EnumDict.__setitem__)__name__r"__qualname__r'r,r
r
)r)rr%(sr%csHeZdZeddZfddZddZdddd	dd
dddd
dZddZfddZ	ddZ
ddZddZddZ
ddZeddZdd Zd!d"Zfd#d$Zdddd	dd
dddd%d&Zed'd(Zed)d*ZS)+EnumMetacCstS)N)r%)metaclsr#basesr
r
r__prepare__TszEnumMeta.__prepare__cs^|j|\}|j|\}}}fddjD}xjD]
}	|	=qYWt|dh@}
|
rtdjdj|
dkrdd<tj|||}g|_	t
|_|_dd	|j
D}i|_d
krYtk	rYd}
tfdd|
DsYt|xkjD]`}||}t|ts|f}n|}tkr|f}|s||}t|ds||_n-|||}t|ds||_|j}||_||_|j|xF|jjD]%\}	}|j|jkr;|}Pq;W|j	j|||krt|||||j|<y||j|<Wqctk
rYqcXqcWxidD]a}	t||	}t|	d}t||	d}|dk	r||krt||	|qWtdk	rZ|rN||_tj|_|S)Ncsi|]}||qSr
r
).0k)	classdictr
r
<dictcomp>cs	z$EnumMeta.__new__.<locals>.<dictcomp>mrozInvalid enum member name: {0},__doc__zAn enumeration.cSs&h|]}|jD]}|qqSr
)__dict__)r5bar
r
r	<setcomp>ys	z#EnumMeta.__new__.<locals>.<setcomp>r!__getnewargs_ex____getnewargs__
__reduce__c3s|]}|jkVqdS)N)r<)r5m)member_typer
r	<genexpr>sz#EnumMeta.__new__.<locals>.<genexpr>_value___repr____str__
__format__)r@rAr!rB)rGrHrIr!) _get_mixins_
_find_new_r(setr*formatjoinr&__new___member_names_r_member_map_
_member_type_r9_value2member_map_objectanyr$
isinstancetuplerrF_name___objclass__r'itemsr+setattrrgetattrr__new_member__)r2r#r3r7
first_enumrOsave_newuse_argsmembersr
invalid_names
enum_classbase_attributesmethodsmember_namer.argsenum_membercanonical_memberclass_method
obj_methodenum_method)r))r7rDrrOXs	
			

				


	
	zEnumMeta.__new__cCsdS)NTr
)rr
r
r__bool__szEnumMeta.__bool__NmodulequalnametypestartrcCsD|dkr|j||S|j||d|d|d|d|S)Nrnrorprq)rO_create_)r#r.namesrnrorprqr
r
r__call__szEnumMeta.__call__cCst||o|j|jkS)N)rVrXrQ)r#memberr
r
r__contains__szEnumMeta.__contains__cs6||jkr"td|jtj|dS)Nz%s: cannot delete Enum member.)rQAttributeErrorr/r&__delattr__)r#attr)r)r
rrxszEnumMeta.__delattr__cCsddddg|jS)Nr)r;__members__r")rP)rr
r
r__dir__szEnumMeta.__dir__cCsOt|rt|y|j|SWn!tk
rJt|dYnXdS)N)rrwrQKeyError)r#rr
r
r__getattr__s	
zEnumMeta.__getattr__cCs|j|S)N)rQ)r#rr
r
r__getitem__szEnumMeta.__getitem__csfddjDS)Nc3s|]}j|VqdS)N)rQ)r5r)r#r
rrEsz$EnumMeta.__iter__.<locals>.<genexpr>)rP)r#r
)r#r__iter__szEnumMeta.__iter__cCs
t|jS)N)rrP)r#r
r
r__len__szEnumMeta.__len__cCs
t|jS)N)rrQ)r#r
r
rrzszEnumMeta.__members__cCsd|jS)Nz	<enum %r>)r/)r#r
r
rrG'szEnumMeta.__repr__cs fddtjDS)Nc3s|]}j|VqdS)N)rQ)r5r)r#r
rrE+sz(EnumMeta.__reversed__.<locals>.<genexpr>)reversedrP)r#r
)r#r__reversed__*szEnumMeta.__reversed__csD|jjdi}||kr-tdtj||dS)NrQzCannot reassign members.)r<getrwr&__setattr__)r#rr.
member_map)r)r
rr-szEnumMeta.__setattr__cCs|j}|dkr|fn	||f}|j||}	t|trc|jddj}t|ttfrt|dtrddt||D}xG|D]?}
t|
tr|
||
}}n|
\}}||	|<qW|j	||||	}
|dkr]yt
jdjd}Wn+t
tfk
r\}zWYdd}~XnX|dkrvt|
n	||
_|dk	r||
_|
S)Nr: rcSs"g|]\}}||fqSr
r
)r5ier
r
r
<listcomp>Ns	z%EnumMeta._create_.<locals>.<listcomp>rr/)r)r4rVstrreplacesplitrWlist	enumeraterOsys	_getframe	f_globalsrwr*r$r"r0)r#
class_namersrnrorprqr2r3r7itemrfmember_valuercexcr
r
rrr:s0	!(

		zEnumMeta._create_cCs|sttfSd}}x>|D]6}|tk	r!t|tr!|jr!tdq!Wt|tsvtdt|dts|d}|d}nNxK|djD]<}t|tr|dkr|}q|dkr|}qW||fS)NzCannot extend enumerationszHnew enumerations must be created as `ClassName([mixin_type,] enum_type)`rrr)rTr
issubclassrPr__mro__)r3rDr^baser
r
rrJis(


	

	
zEnumMeta._get_mixins_c	Cs|jdd}|dk	}|dkrxudD]d}xN||fD]@}t||d}|ddjtjtjhkrD|}PqDW|dk	r1Pq1Wtj}|tjkrd}nd}|||fS)NrOr]FT)r]rO)rr\rOrTr)	r7rDr^rOr_methodpossibletargetr`r
r
rrKs(
		zEnumMeta._find_new_)r/r"r0classmethodr4rOrmrtrvrxr{r}r~rrpropertyrzrGrrrrstaticmethodrJrKr
r
)r)rr1Rs$y'

'/-r1c@seZdZddZddZddZddZd	d
ZddZd
dZ	e
ddZe
ddZe
dddZdS)rcCst||kr|Sy||jkr3|j|SWn?tk
rux*|jjD]}|j|krT|SqTWYnXtd||jfdS)Nz%r is not a valid %s)rprSrrQvaluesrFr*r/)r#r.rur
r
rrOs

zEnum.__new__cCsd|jj|j|jfS)Nz<%s.%s: %r>)r)r/rXrF)rr
r
rrGsz
Enum.__repr__cCsd|jj|jfS)Nz%s.%s)r)r/rX)rr
r
rrHszEnum.__str__cs3fddjjD}dddg|S)NcsEg|];}|jD]+}|ddkr|jkr|qqS)rr)r<rQ)r5r#rC)rr
rrs	
z Enum.__dir__.<locals>.<listcomp>r)r;r")r)r9)radded_behaviorr
)rrr{szEnum.__dir__cCsF|jtkr$t}t|}n|j}|j}|j||S)N)rRrTrrFrI)rformat_specr#valr
r
rrIs		zEnum.__format__cCs
t|jS)N)hashrX)rr
r
r__hash__sz
Enum.__hash__cCs|j|jffS)N)r)rF)rrr
r
rr!szEnum.__reduce_ex__cCs|jS)N)rX)rr
r
rr
sz	Enum.namecCs|jS)N)rF)rr
r
rr.sz
Enum.valueNcsttj|}|r(t|}n|}fdd|jD}|||d|}t|_|j|j|||<|S)Ncs+i|]!\}}|r||qSr
r
)r5rr.)filterr
rr8#s		z!Enum._convert.<locals>.<dictcomp>rn)varsrmodulesrZ_reduce_ex_by_namer!updaterz)r#rrnrsourcemodule_globalsrar
)rr_converts
	
z
Enum._convert)r/r"r0rOrGrHr{rIrr!rrr.rrr
r
r
rrs	
	metaclassc@seZdZdS)rN)r/r"r0r
r
r
rr,scCs|jS)N)r)rrr
r
rr0srcCsg}xB|jjD]1\}}||jkr|j||jfqW|rdjdd|D}td||f|S)Nz, cSs&g|]\}}d||fqS)z%s -> %sr
)r5aliasrr
r
rr;s	zunique.<locals>.<listcomp>z duplicate values found in %r: %s)rzrZrr+rNr*)enumeration
duplicatesrru
alias_detailsr
r
rr3s)rcollectionsrtypesrr__all__rrrr$dictr%rrpr1intrrrr
r
r
r<module>s'tg
Back to Directory File Manager