![]() |
![]() |
Public Member Functions | |
def | __call__ |
def | __init__ |
def | __setattr__ |
def | isValidKey |
def | isValidValue |
def | keys |
def | valueToKey |
Private Attributes | |
_keys | |
_valueDict |
Similar to C++'s 'enum', but with a few extra toys. Takes a string with spaces in between the different 'enum' names (keys). If 'asInt' is true, then values will be integers (useful for array indicies). Once created, the enum values can not be changed.
Definition at line 7 of file Enumerate.py.
def Enumerate::Enumerate::__call__ | ( | self, | ||
key | ||||
) |
Definition at line 63 of file Enumerate.py.
00063 : 00064 return self.__dict__.get (key, None) 00065
def Enumerate::Enumerate::__init__ | ( | self, | ||
names, | ||||
prefix = '' , |
||||
asInt = False , |
||||
intOffset = 0 | ||||
) |
Definition at line 13 of file Enumerate.py.
00013 : 00014 biggest = smallest = "" 00015 self._keys = [] 00016 self._valueDict = {} 00017 for count, name in enumerate (names.split()) : 00018 # make sure we don't already have this key 00019 if self.isValidKey (name): 00020 raise RuntimeError, \ 00021 "You can not duplicate Enum Names '%s'" % name 00022 # set the value using the base class 00023 key = "%s_%s" % (prefix, name) 00024 if asInt: 00025 key = count + intOffset 00026 object.__setattr__ (self, name, key) 00027 self._valueDict[key] = name 00028 self._keys.append (name) 00029 00030 def isValidValue (self, value):
def Enumerate::Enumerate::__setattr__ | ( | self, | ||
name, | ||||
value | ||||
) |
Lets me set internal values, but throws an error if any of the enum values are changed
Definition at line 53 of file Enumerate.py.
00053 : 00054 """Lets me set internal values, but throws an error if any of 00055 the enum values are changed""" 00056 if not name.startswith ("_"): 00057 # Once it's set, you can't change the values 00058 raise RuntimeError, "You can not modify Enum values." 00059 else: 00060 object.__setattr__ (self, name, value) 00061 00062 def __call__ (self, key):
def Enumerate::Enumerate::isValidKey | ( | self, | ||
key | ||||
) |
Returns true if this value is a valid enum key
Definition at line 36 of file Enumerate.py.
00036 : 00037 """ Returns true if this value is a valid enum key""" 00038 return self.__dict__.has_key (key) 00039 00040 def valueToKey (self, value):
def Enumerate::Enumerate::isValidValue | ( | self, | ||
value | ||||
) |
Returns true if this value is a valid enum value
Definition at line 31 of file Enumerate.py.
00031 : 00032 """ Returns true if this value is a valid enum value""" 00033 return self._valueDict.has_key (value) 00034 00035 def isValidKey (self, key):
def Enumerate::Enumerate::keys | ( | self | ) |
Returns copy of valid keys
Definition at line 46 of file Enumerate.py.
00046 : 00047 """ Returns copy of valid keys """ 00048 # since this is a list, return a copy of it instead of the 00049 # list itself 00050 return self._keys [:] 00051 00052 def __setattr__ (self, name, value):
def Enumerate::Enumerate::valueToKey | ( | self, | ||
value | ||||
) |
Returns the key (if it exists) for a given enum value
Definition at line 41 of file Enumerate.py.
00041 : 00042 """ Returns the key (if it exists) for a given enum value""" 00043 return self._valueDict.get (value, None) 00044 00045 def keys (self):
Enumerate::Enumerate::_keys [private] |
Definition at line 15 of file Enumerate.py.
Enumerate::Enumerate::_valueDict [private] |
Definition at line 16 of file Enumerate.py.