1 def enum(*sequential, **named):
2 """ simulation of C=style enum
3 credit: Alec Thomas, http://stackoverflow.com/questions/36932/how-can-i-represent-an-enum-in-python
5 enums = dict(zip(sequential, range(len(sequential))), **named)
6 reverse = dict((value, key) for key, value in enums.iteritems())
7 enums['reverse_mapping'] = reverse
8 return type('Enum', (), enums)