gh-97850: Remove all known instances of module_repr() (#97876)

Remove all known instances of module_repr()
This commit is contained in:
Barry Warsaw 2022-10-05 11:42:26 -07:00 committed by GitHub
parent 815008a3a5
commit 5dc3599135
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 7 additions and 35 deletions

View file

@ -426,6 +426,11 @@ Removed
Validation.
(Contributed by Victor Stinner in :gh:`94199`.)
* Many previously deprecated cleanups in :mod:`importlib` have now been
completed:
* References to, and support for ``module_repr()`` has been eradicated.
Porting to Python 3.12
======================

View file

@ -728,17 +728,6 @@ class BuiltinImporter:
_ORIGIN = "built-in"
@staticmethod
def module_repr(module):
"""Return repr for the module.
The method is deprecated. The import machinery does the job itself.
"""
_warnings.warn("BuiltinImporter.module_repr() is deprecated and "
"slated for removal in Python 3.12", DeprecationWarning)
return f'<module {module.__name__!r} ({BuiltinImporter._ORIGIN})>'
@classmethod
def find_spec(cls, fullname, path=None, target=None):
if path is not None:
@ -808,17 +797,6 @@ class FrozenImporter:
_ORIGIN = "frozen"
@staticmethod
def module_repr(m):
"""Return repr for the module.
The method is deprecated. The import machinery does the job itself.
"""
_warnings.warn("FrozenImporter.module_repr() is deprecated and "
"slated for removal in Python 3.12", DeprecationWarning)
return '<module {!r} ({})>'.format(m.__name__, FrozenImporter._ORIGIN)
@classmethod
def _fix_up_module(cls, module):
spec = module.__spec__

View file

@ -103,7 +103,7 @@ def test_lacking_parent(self):
expected=value))
self.assertEqual(output, 'Hello world!\n')
def test_module_repr_indirect(self):
def test_module_repr_indirect_through_spec(self):
name = '__hello__'
module, output = self.exec_module(name)
self.assertEqual(repr(module),
@ -190,13 +190,6 @@ def test_module_reuse(self):
self.assertEqual(stdout.getvalue(),
'Hello world!\nHello world!\n')
def test_module_repr(self):
with fresh('__hello__', oldapi=True):
module = self.machinery.FrozenImporter.load_module('__hello__')
repr_str = self.machinery.FrozenImporter.module_repr(module)
self.assertEqual(repr_str,
"<module '__hello__' (frozen)>")
# No way to trigger an error in a frozen module.
test_state_after_failure = None

View file

@ -687,9 +687,6 @@ def get_data(self, path):
def get_filename(self, fullname):
return self.path
def module_repr(self, module):
return '<module>'
SPLIT_SOL = make_abc_subclasses(SourceOnlyLoader, 'SourceLoader')

View file

@ -239,7 +239,6 @@ def test_module_repr_with_full_loader(self):
repr(m), "<module 'foo' (<class 'test.test_module.FullLoader'>)>")
def test_module_repr_with_bare_loader_and_filename(self):
# Because the loader has no module_repr(), use the file name.
m = ModuleType('foo')
# Yes, a class not an instance.
m.__loader__ = BareLoader
@ -247,7 +246,6 @@ def test_module_repr_with_bare_loader_and_filename(self):
self.assertEqual(repr(m), "<module 'foo' from '/tmp/foo.py'>")
def test_module_repr_with_full_loader_and_filename(self):
# Even though the module has an __file__, use __loader__.module_repr()
m = ModuleType('foo')
# Yes, a class not an instance.
m.__loader__ = FullLoader

View file

@ -0,0 +1 @@
Long deprecated, ``module_repr()`` should now be completely eradicated.