MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/task/2/root/usr/lib/python2.4/Demo/newmetaclasses/Enum.pyc
mò
‚=5Dc@s£dZdefd„ƒYZdefd„ƒYZdefd„ƒYZdfd„ƒYZd	fd
„ƒYZd„Zd„Z	e
d
joeƒe	ƒndS(sEnumeration metaclass.t
EnumMetaclasscBs)tZdZd„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|ƒi|||ƒg|_xn|iƒD]`}|i
dƒo
|idƒp:t||||ƒ}t|||ƒ|ii|ƒq2q2WdS(Nt__(tsuperRtclst__init__tnametbasestdictt_memberstkeystattrt
startswithtendswithtEnumInstancetenumvaltsetattrtappend(RRRRRR
((t./usr/lib/python2.4/Demo/newmetaclasses/Enum.pyRs	
 cCs%|djo|iSnt|‚dS(Nt__members__(RRRtAttributeError(RR((Rt__getattr__s
cCsÙd}}g}|iD]1}t|tƒo|tj	o||i	qq~}|oddi|ƒ}ng}|iD] }|d|t||ƒfq~~}|oddi|ƒ}nd|i	||fS(Nts(%s)s, s%s: %ds: {%s}s%s%s%s(ts1ts2t_[1]Rt	__bases__tbaset
isinstanceRtEnumt__name__t	enumbasestjoinRtvaltgetattrt
enumvalues(RR"R RRRRR((Rt__repr__"s
H7(Rt
__module__t__doc__RRR#(((RRs			tFullEnumMetaclasscBstZdZd„ZRS(snMetaclass for full enumerations.

    A full enumeration displays all the values defined in base classes.
    cCs€tt|ƒi|||ƒx]|iD]R}t	|t
ƒo<x9|iD]*}||ijo|ii
|ƒqFqFWq&q&WdS(N(RR&RRRRRt__mro__tobjRRRR
R(RRRRR
R(((RR4s

(RR$R%R(((RR&.sR
cBs2tZdZd„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?
    cCsti||ƒS(N(tintt__new__Rtvalue(Rt	classnametenumnameR+((RR*GscCs||_||_dS(N(R,tselft_EnumInstance__classnameR-t_EnumInstance__enumname(R.R,R-R+((RRJs	cCsd|i|i|fS(NsEnumInstance(%s, %s, %d)(R.R/R0(R.((RR#NscCsd|i|ifS(Ns%s.%s(R.R/R0(R.((Rt__str__Rs(RR$R%R*RR#R1(((RR
=s
			RcBstZeZRS(N(RR$Rt
__metaclass__(((RRUstFullEnumcBstZeZRS(N(RR$R&R2(((RR3XscCsødtfd„ƒY}|iGHt|iƒGH|i|ijGH|i|ijGH|idjGH|idjGHd|fd„ƒY}|iGH|iGH|i|ijGHdtfd„ƒY}d	||fd
„ƒY}|iGH|i	GH|GH|GH|GH|GHdS(NtColorcBstZdZdZdZRS(Niii(RR$tredtgreentblue(((RR4]siit
ExtendedColorcBs&tZdZdZdZdZdZRS(Niiiii(RR$twhitetorangetyellowtpurpletblack(((RR8js
t
OtherColorcBstZdZdZRS(Nii(RR$R9R7(((RR>vstMergedColorcBstZRS(N(RR$(((RR?zs(
RR4R5treprR7R8R:R>R?R9(R8R4R?R>((Rt_test[s&cCsødtfd„ƒY}|iGHt|iƒGH|i|ijGH|i|ijGH|idjGH|idjGHd|fd„ƒY}|iGH|iGH|i|ijGHdtfd„ƒY}d	||fd
„ƒY}|iGH|i	GH|GH|GH|GH|GHdS(NR4cBstZdZdZdZRS(Niii(RR$R5R6R7(((RR4‡siiR8cBs&tZdZdZdZdZdZRS(Niiiii(RR$R9R:R;R<R=(((RR8”s
R>cBstZdZdZRS(Nii(RR$R9R7(((RR> sR?cBstZRS(N(RR$(((RR?€s(
R3R4R5R@R7R8R:R>R?R9(R8R4R?R>((Rt_test2…s&t__main__N(R%ttypeRR&R)R
RR3RARBR(R&RRARR3R
RB((Rt?s+	*	*