Spade

Mini Shell

Directory:~$ /proc/self/root/lib64/python2.7/Demo/newmetaclasses/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/lib64/python2.7/Demo/newmetaclasses/Enum.pyc

�
V
�Qc@s�dZdefd��YZdefd��YZdefd��YZddd��YZd	dd
��YZd�Zd�Z	e
d
kr�e�e	�ndS(sEnumeration
metaclass.t
EnumMetaclasscBs)eZdZd�Zd�Zd�ZRS(sgMetaclass
for enumeration.

    To define your own enumeration, do something like

    class Color(Enum):
        red = 1
        green = 2
        blue = 3

    Now, Color.red, Color.green and Color.blue behave totally
    different: they are enumerated values, not integers.

    Enumerations cannot be instantiated; however they can be
    subclassed.
   
cCs�tt|�j|||�g|_xk|j�D]]}|jd�oS|jd�s2t||||�}t|||�|jj	|�q2q2WdS(Nt__(
tsuperRt__init__t_memberstkeyst
startswithtendswithtEnumInstancetsetattrtappend(tclstnametbasestdicttattrtenumval((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyRs	cCs
|dkr|jSt|�dS(Nt__members__(RtAttributeError(RR((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt__getattr__scCs�d}}g|jD]*}t|t�r|tk	r|j^q}|r`ddj|�}ng|jD]}d|t||�f^qj}|r�ddj|�}nd|j||fS(Nts(%s)s,
s%s: %ds: {%s}s%s%s%s(t	__bases__t
isinstanceRtEnumt__name__tjoinRtgetattr(Rts1ts2tbaset	enumbasestvalt
enumvalues((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt__repr__"s
*,(Rt
__module__t__doc__RRR!(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyRs			tFullEnumMetaclasscBseZdZd�ZRS(snMetaclass
for full enumerations.

    A full enumeration displays all the values defined in base classes.
   
cCs|tt|�j|||�xY|jD]N}t|t�r&x6|jD](}||jkrE|jj|�qEqEWq&q&WdS(N(RR$Rt__mro__RRRR
(RRR
RtobjR((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR4s(RR"R#R(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR$.sRcBs2eZdZd�Zd�Zd�Zd�ZRS(sClass
to represent an enumeration value.

    EnumInstance('Color', 'red', 12) prints as
'Color.red' and behaves
    like the integer 12 when compared, but doesn't support arithmetic.

    XXX Should it record the actual enumeration rather than just its
    name?
   
cCstj||�S(N(tintt__new__(Rt	classnametenumnametvalue((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR(GscCs||_||_dS(N(t_EnumInstance__classnamet_EnumInstance__enumname(tselfR)R*R+((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyRJs	cCsd|j|j|fS(NsEnumInstance(%s,
%s,
%d)(R,R-(R.((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR!NscCsd|j|jfS(Ns%s.%s(R,R-(R.((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt__str__Rs(RR"R#R(RR!R/(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR=s
			RcBseZeZRS((RR"Rt
__metaclass__(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyRUstFullEnumcBseZeZRS((RR"R$R0(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR1XscCs�dtfd��Y}|jGHt|j�GH|j|jkGH|j|jkGH|jdkGH|jdkGHd|fd��Y}|jGH|jGH|j|jkGHdtfd��Y}d	||fd
��Y}|jGH|jGH|GH|GH|GH|GHdS(NtColorcBseZdZdZdZRS(iii(RR"tredtgreentblue(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR2]siit
ExtendedColorcBs&eZdZdZdZdZdZRS(iiiii(RR"twhitetorangetyellowtpurpletblack(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR6js
t
OtherColorcBseZdZdZRS(ii(RR"R7R5(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR<vstMergedColorcBseZRS((RR"(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR=zs(RR3treprR5R8R7(R2R6R<R=((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt_test[s&cCs�dtfd��Y}|jGHt|j�GH|j|jkGH|j|jkGH|jdkGH|jdkGHd|fd��Y}|jGH|jGH|j|jkGHdtfd��Y}d	||fd
��Y}|jGH|jGH|GH|GH|GH|GHdS(NR2cBseZdZdZdZRS(iii(RR"R3R4R5(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR2�siiR6cBs&eZdZdZdZdZdZRS(iiiii(RR"R7R8R9R:R;(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR6�s
R<cBseZdZdZRS(ii(RR"R7R5(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR<�sR=cBseZRS((RR"(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyR=�s(R1R3R>R5R8R7(R2R6R<R=((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt_test2�s&t__main__N(((R#ttypeRR$R'RRR1R?R@R(((s0/usr/lib64/python2.7/Demo/newmetaclasses/Enum.pyt<module>s+	*	*