aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/importlib/machinery.py
diff options
context:
space:
mode:
authorTomas R. <tomas.roun8@gmail.com>2025-01-15 01:48:46 +0100
committerGitHub <noreply@github.com>2025-01-14 16:48:46 -0800
commitbd3baa8b1a7755f17b2fc98c7fb7b872fec43af3 (patch)
treee2e2695416dc415577405e786d7e3cc3ebe82370 /Lib/importlib/machinery.py
parentb52de22ac345ad8583bcc57f963e26b35c2ee527 (diff)
downloadcpython-bd3baa8b1a7755f17b2fc98c7fb7b872fec43af3.tar.gz
cpython-bd3baa8b1a7755f17b2fc98c7fb7b872fec43af3.zip
gh-121604: Make sure all deprecated items in importlib raise DeprecationWarning (#128007)
Co-authored-by: rashansmith <smith.rashan@gmail.com> Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Co-authored-by: Brett Cannon <brett@python.org>
Diffstat (limited to 'Lib/importlib/machinery.py')
-rw-r--r--Lib/importlib/machinery.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/Lib/importlib/machinery.py b/Lib/importlib/machinery.py
index 6e294d59bfd..63d726445c3 100644
--- a/Lib/importlib/machinery.py
+++ b/Lib/importlib/machinery.py
@@ -3,9 +3,11 @@
from ._bootstrap import ModuleSpec
from ._bootstrap import BuiltinImporter
from ._bootstrap import FrozenImporter
-from ._bootstrap_external import (SOURCE_SUFFIXES, DEBUG_BYTECODE_SUFFIXES,
- OPTIMIZED_BYTECODE_SUFFIXES, BYTECODE_SUFFIXES,
- EXTENSION_SUFFIXES)
+from ._bootstrap_external import (
+ SOURCE_SUFFIXES, BYTECODE_SUFFIXES, EXTENSION_SUFFIXES,
+ DEBUG_BYTECODE_SUFFIXES as _DEBUG_BYTECODE_SUFFIXES,
+ OPTIMIZED_BYTECODE_SUFFIXES as _OPTIMIZED_BYTECODE_SUFFIXES
+)
from ._bootstrap_external import WindowsRegistryFinder
from ._bootstrap_external import PathFinder
from ._bootstrap_external import FileFinder
@@ -27,3 +29,22 @@ __all__ = ['AppleFrameworkLoader', 'BYTECODE_SUFFIXES', 'BuiltinImporter',
'NamespaceLoader', 'OPTIMIZED_BYTECODE_SUFFIXES', 'PathFinder',
'SOURCE_SUFFIXES', 'SourceFileLoader', 'SourcelessFileLoader',
'WindowsRegistryFinder', 'all_suffixes']
+
+
+def __getattr__(name):
+ import warnings
+
+ if name == 'DEBUG_BYTECODE_SUFFIXES':
+ warnings.warn('importlib.machinery.DEBUG_BYTECODE_SUFFIXES is '
+ 'deprecated; use importlib.machinery.BYTECODE_SUFFIXES '
+ 'instead.',
+ DeprecationWarning, stacklevel=2)
+ return _DEBUG_BYTECODE_SUFFIXES
+ elif name == 'OPTIMIZED_BYTECODE_SUFFIXES':
+ warnings.warn('importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES is '
+ 'deprecated; use importlib.machinery.BYTECODE_SUFFIXES '
+ 'instead.',
+ DeprecationWarning, stacklevel=2)
+ return _OPTIMIZED_BYTECODE_SUFFIXES
+
+ raise AttributeError(f'module {__name__!r} has no attribute {name!r}')