From 9c25f9cb4e501c4adf0314248ef256dfbfdbfc5e Mon Sep 17 00:00:00 2001 From: orlnub123 <30984274+orlnub123@users.noreply.github.com> Date: Fri, 31 Aug 2018 01:16:43 +0300 Subject: [PATCH 1/3] Change __repr__s to use the fully qualified name --- Lib/enum.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index 04d8ec1fa872f88..a6a4bb43977bac7 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -353,7 +353,7 @@ def __members__(cls): return MappingProxyType(cls._member_map_) def __repr__(cls): - return "" % cls.__name__ + return "" % (cls.__module__, cls.__qualname__) def __reversed__(cls): return (cls._member_map_[name] for name in reversed(cls._member_names_)) @@ -556,8 +556,10 @@ 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_) @@ -711,10 +713,12 @@ 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_, ) From cae5ec6d50cf4edca14830c50efb1d787d1d3c9a Mon Sep 17 00:00:00 2001 From: orlnub123 <30984274+orlnub123@users.noreply.github.com> Date: Fri, 31 Aug 2018 01:16:57 +0300 Subject: [PATCH 2/3] Change __str__s to use the fully qualified name --- Lib/enum.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index a6a4bb43977bac7..725b0197e23279d 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -562,7 +562,9 @@ def __repr__(self): 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 = [ @@ -726,13 +728,15 @@ def __repr__(self): 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]), ) From 9d21d2c6c18d3d713334a572eaba6e84355ac223 Mon Sep 17 00:00:00 2001 From: orlnub123 <30984274+orlnub123@users.noreply.github.com> Date: Fri, 31 Aug 2018 02:03:43 +0300 Subject: [PATCH 3/3] Add news entry --- .../NEWS.d/next/Library/2018-08-30-23-01-44.bpo-34443.faVxO4.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Library/2018-08-30-23-01-44.bpo-34443.faVxO4.rst diff --git a/Misc/NEWS.d/next/Library/2018-08-30-23-01-44.bpo-34443.faVxO4.rst b/Misc/NEWS.d/next/Library/2018-08-30-23-01-44.bpo-34443.faVxO4.rst new file mode 100644 index 000000000000000..4d2d281662a53d1 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-08-30-23-01-44.bpo-34443.faVxO4.rst @@ -0,0 +1 @@ +Change enum ``__repr__``s and ``__str__``s to use the fully qualified name.