diff --git a/enum.py b/enum_fixed.py index 844a956..00eda81 100644 --- a/enum.py +++ b/enum_fixed.py @@ -159,7 +159,7 @@ class EnumMeta(type): # If another member with the same value was already defined, the # new member becomes an alias to the existing one. for name, canonical_member in enum_class._member_map_.items(): - if canonical_member.value == enum_member._value_: + if canonical_member._value_ == enum_member._value_: enum_member = canonical_member break else: @@ -224,7 +224,7 @@ class EnumMeta(type): return cls._create_(value, names, module=module, qualname=qualname, type=type) def __contains__(cls, member): - return isinstance(member, cls) and member.name in cls._member_map_ + return isinstance(member, cls) and member._name_ in cls._member_map_ def __delattr__(cls, attr): # nicer error message when someone tries to delete an attribute @@ -452,7 +452,7 @@ class Enum(metaclass=EnumMeta): except TypeError: # not there, now do long search -- O(n) behavior for member in cls._member_map_.values(): - if member.value == value: + if member._value_ == value: return member raise ValueError("%s is not a valid %s" % (value, cls.__name__)) @@ -480,7 +480,7 @@ class Enum(metaclass=EnumMeta): # mix-in branch else: cls = self._member_type_ - val = self.value + val = self._value_ return cls.__format__(val, format_spec) def __hash__(self): @@ -515,8 +515,8 @@ def unique(enumeration): """Class decorator for enumerations ensuring unique member values.""" duplicates = [] for name, member in enumeration.__members__.items(): - if name != member.name: - duplicates.append((name, member.name)) + if name != member._name_: + duplicates.append((name, member._name_)) if duplicates: alias_details = ', '.join( ["%s -> %s" % (alias, name) for (alias, name) in duplicates])