Skip to content

Commit 521e586

Browse files
Issue python#22032: __qualname__ instead of __name__ is now always used to format
fully qualified class names of Python implemented classes.
1 parent c09e975 commit 521e586

File tree

16 files changed

+24
-20
lines changed

16 files changed

+24
-20
lines changed

Lib/abc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def register(cls, subclass):
168168

169169
def _dump_registry(cls, file=None):
170170
"""Debug helper to print the ABC registry."""
171-
print("Class: %s.%s" % (cls.__module__, cls.__name__), file=file)
171+
print("Class: %s.%s" % (cls.__module__, cls.__qualname__), file=file)
172172
print("Inv.counter: %s" % ABCMeta._abc_invalidation_counter, file=file)
173173
for name in sorted(cls.__dict__.keys()):
174174
if name.startswith("_abc_"):

Lib/asyncore.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ def __init__(self, sock=None, map=None):
255255
self.socket = None
256256

257257
def __repr__(self):
258-
status = [self.__class__.__module__+"."+self.__class__.__name__]
258+
status = [self.__class__.__module__+"."+self.__class__.__qualname__]
259259
if self.accepting and self.addr:
260260
status.append('listening')
261261
elif self.connected:

Lib/codecs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ def __new__(cls, encode, decode, streamreader=None, streamwriter=None,
9999
return self
100100

101101
def __repr__(self):
102-
return "<%s.%s object for encoding %s at 0x%x>" % \
103-
(self.__class__.__module__, self.__class__.__name__,
102+
return "<%s.%s object for encoding %s at %#x>" % \
103+
(self.__class__.__module__, self.__class__.__qualname__,
104104
self.name, id(self))
105105

106106
class Codec:

Lib/distutils/extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def __init__(self, name, sources,
134134
def __repr__(self):
135135
return '<%s.%s(%r) at %#x>' % (
136136
self.__class__.__module__,
137-
self.__class__.__name__,
137+
self.__class__.__qualname__,
138138
self.name,
139139
id(self))
140140

Lib/functools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def __repr__(self):
277277
for k, v in self.keywords.items())
278278
format_string = "{module}.{cls}({func}, {args}, {keywords})"
279279
return format_string.format(module=self.__class__.__module__,
280-
cls=self.__class__.__name__,
280+
cls=self.__class__.__qualname__,
281281
func=self.func,
282282
args=args,
283283
keywords=keywords)

Lib/inspect.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,8 +1038,8 @@ def getargvalues(frame):
10381038
def formatannotation(annotation, base_module=None):
10391039
if isinstance(annotation, type):
10401040
if annotation.__module__ in ('builtins', base_module):
1041-
return annotation.__name__
1042-
return annotation.__module__+'.'+annotation.__name__
1041+
return annotation.__qualname__
1042+
return annotation.__module__+'.'+annotation.__qualname__
10431043
return repr(annotation)
10441044

10451045
def formatannotationrelativeto(object):

Lib/pdb.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1316,7 +1316,7 @@ def do_whatis(self, arg):
13161316
return
13171317
# Is it a class?
13181318
if value.__class__ is type:
1319-
self.message('Class %s.%s' % (value.__module__, value.__name__))
1319+
self.message('Class %s.%s' % (value.__module__, value.__qualname__))
13201320
return
13211321
# None of the above...
13221322
self.message(type(value))

Lib/socket.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def __repr__(self):
141141
closed = getattr(self, '_closed', False)
142142
s = "<%s.%s%s fd=%i, family=%s, type=%s, proto=%i" \
143143
% (self.__class__.__module__,
144-
self.__class__.__name__,
144+
self.__class__.__qualname__,
145145
" [closed]" if closed else "",
146146
self.fileno(),
147147
self.family,

Lib/test/test_configparser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ def get_error(self, cf, exc, section, option):
579579
return e
580580
else:
581581
self.fail("expected exception type %s.%s"
582-
% (exc.__module__, exc.__name__))
582+
% (exc.__module__, exc.__qualname__))
583583

584584
def test_boolean(self):
585585
cf = self.fromstring(

Lib/test/test_io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ def f():
778778
def test_repr(self):
779779
raw = self.MockRawIO()
780780
b = self.tp(raw)
781-
clsname = "%s.%s" % (self.tp.__module__, self.tp.__name__)
781+
clsname = "%s.%s" % (self.tp.__module__, self.tp.__qualname__)
782782
self.assertEqual(repr(b), "<%s>" % clsname)
783783
raw.name = "dummy"
784784
self.assertEqual(repr(b), "<%s name='dummy'>" % clsname)

0 commit comments

Comments
 (0)