/usr/lib64/python2.6/Demo/newmetaclasses
Edit: /usr/lib64/python2.6/Demo/newmetaclasses/Enum.pyc (6980B)
Ñò
« gc @ s£ d Z d e f d YZ d e f d YZ d e f d YZ d d d YZ d d d
YZ d Z d Z e
d
j o e e n d S( s Enumeration metaclass.t
EnumMetaclassc B s) e Z d Z d Z d Z d Z RS( sg Metaclass 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.
c C s t t | i | | | g | _ xn | i D]` } | i d o
| i d p: t | | | | } t | | | | i i | q2 q2 Wd S( Nt __(
t superR t __init__t _memberst keyst
startswitht endswitht EnumInstancet setattrt append( t clst namet basest dictt attrt enumval( ( s0 /usr/lib64/python2.6/Demo/newmetaclasses/Enum.pyR s
c C s" | d j o | i St | d S( Nt __members__( R t AttributeError( R R ( ( s0 /usr/lib64/python2.6/Demo/newmetaclasses/Enum.pyt __getattr__ s
c
C sÙ d } } g } | i D]1 } t | t o | t j o | | i q q ~ } | o d d i | } n g } | i D] } | d | t | | f q~ ~ } | o d d i | } n d | i | | f S( Nt s (%s)s , s %s: %ds : {%s}s %s%s%s( t __bases__t
isinstanceR t Enumt __name__t joinR t getattr( R t s1t s2t _[1]t baset enumbasest _[2]t valt
enumvalues( ( s0 /usr/lib64/python2.6/Demo/newmetaclasses/Enum.pyt __repr__" s
40( R t
__module__t __doc__R R R# ( ( ( s0 /usr/lib64/python2.6/Demo/newmetaclasses/Enum.pyR s t FullEnumMetaclassc B s e Z d Z d Z RS( sn Metaclass for full enumerations.
A full enumeration displays all the values defined in base classes.
c C s t t | i | | | x] | i D]R } t | t o<