diff options
Diffstat (limited to 'Lib/enum.py')
-rw-r--r-- | Lib/enum.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index e597191..b19d40c 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1114,6 +1114,14 @@ class Enum(metaclass=EnumType): def __init__(self, *args, **kwds): pass + def __getattribute__(self, name): + self_dict = super().__getattribute__('__dict__') + cls = super().__getattribute__('__class__') + value = super().__getattribute__(name) + if isinstance(value, cls) and name not in self_dict and name in self._member_names_: + raise AttributeError("<enum '%s'> member has no attribute %r" % (cls.__name__, name)) + return super().__getattribute__(name) + def _generate_next_value_(name, start, count, last_values): """ Generate the next value when not given. |