Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 19 additions & 11 deletions 30 Lib/enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ def __members__(cls):
return MappingProxyType(cls._member_map_)

def __repr__(cls):
return "<enum %r>" % cls.__name__
return "<enum '%s.%s'>" % (cls.__module__, cls.__qualname__)

def __reversed__(cls):
return (cls._member_map_[name] for name in reversed(cls._member_names_))
Expand Down Expand Up @@ -556,11 +556,15 @@ def _missing_(cls, value):
raise ValueError("%r is not a valid %s" % (value, cls.__name__))

def __repr__(self):
return "<%s.%s: %r>" % (
self.__class__.__name__, self._name_, self._value_)
return "<%s.%s.%s: %r>" % (self.__class__.__module__,
self.__class__.__qualname__,
self._name_,
self._value_)

def __str__(self):
return "%s.%s" % (self.__class__.__name__, self._name_)
return "%s.%s.%s" % (self.__class__.__module__,
self.__class__.__qualname__,
self._name_)

def __dir__(self):
added_behavior = [
Expand Down Expand Up @@ -711,24 +715,28 @@ def __contains__(self, other):
def __repr__(self):
cls = self.__class__
if self._name_ is not None:
return '<%s.%s: %r>' % (cls.__name__, self._name_, self._value_)
return '<%s.%s.%s: %r>' % (
cls.__module__, cls.__qualname__, self._name_, self._value_)
members, uncovered = _decompose(cls, self._value_)
return '<%s.%s: %r>' % (
cls.__name__,
return '<%s.%s.%s: %r>' % (
cls.__module__,
cls.__qualname__,
'|'.join([str(m._name_ or m._value_) for m in members]),
self._value_,
)

def __str__(self):
cls = self.__class__
if self._name_ is not None:
return '%s.%s' % (cls.__name__, self._name_)
return '%s.%s.%s' % (cls.__module__, cls.__qualname__, self._name_)
members, uncovered = _decompose(cls, self._value_)
if len(members) == 1 and members[0]._name_ is None:
return '%s.%r' % (cls.__name__, members[0]._value_)
return '%s.%s.%r' % (
cls.__module__, cls.__qualname__, members[0]._value_)
else:
return '%s.%s' % (
cls.__name__,
return '%s.%s.%s' % (
cls.__module__,
cls.__qualname__,
'|'.join([str(m._name_ or m._value_) for m in members]),
)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Change enum ``__repr__``s and ``__str__``s to use the fully qualified name.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.