Skip to content

Commit b73ad85

Browse files
tomasr8rashansmith
andcommitted
Add DeprecationWarning for DEBUG_BYTECODE_SUFFIXES and OPTIMIZED_BYTECODE_SUFFIXES.
Co-authored-by: rashansmith <[email protected]>
1 parent cbe54a3 commit b73ad85

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

Lib/importlib/machinery.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
from ._bootstrap import ModuleSpec
44
from ._bootstrap import BuiltinImporter
55
from ._bootstrap import FrozenImporter
6-
from ._bootstrap_external import (SOURCE_SUFFIXES, DEBUG_BYTECODE_SUFFIXES,
7-
OPTIMIZED_BYTECODE_SUFFIXES, BYTECODE_SUFFIXES,
8-
EXTENSION_SUFFIXES)
6+
from ._bootstrap_external import (
7+
SOURCE_SUFFIXES, BYTECODE_SUFFIXES, EXTENSION_SUFFIXES,
8+
DEBUG_BYTECODE_SUFFIXES as _DEBUG_BYTECODE_SUFFIXES,
9+
OPTIMIZED_BYTECODE_SUFFIXES as _OPTIMIZED_BYTECODE_SUFFIXES
10+
)
911
from ._bootstrap_external import WindowsRegistryFinder
1012
from ._bootstrap_external import PathFinder
1113
from ._bootstrap_external import FileFinder
@@ -27,3 +29,21 @@ def all_suffixes():
2729
'NamespaceLoader', 'OPTIMIZED_BYTECODE_SUFFIXES', 'PathFinder',
2830
'SOURCE_SUFFIXES', 'SourceFileLoader', 'SourcelessFileLoader',
2931
'WindowsRegistryFinder', 'all_suffixes']
32+
33+
34+
def __getattr__(name):
35+
import warnings
36+
if name == 'DEBUG_BYTECODE_SUFFIXES':
37+
warnings.warn("importlib.machinery.DEBUG_BYTECODE_SUFFIXES is "
38+
"deprecated. Use importlib.machinery.BYTECODE_SUFFIXES "
39+
"instead.",
40+
DeprecationWarning, stacklevel=2)
41+
return _DEBUG_BYTECODE_SUFFIXES
42+
elif name == 'OPTIMIZED_BYTECODE_SUFFIXES':
43+
warnings.warn("importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES is "
44+
"deprecated. Use importlib.machinery.BYTECODE_SUFFIXES "
45+
"instead.",
46+
DeprecationWarning, stacklevel=2)
47+
return _OPTIMIZED_BYTECODE_SUFFIXES
48+
49+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

Lib/test/test_importlib/test_api.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,5 +492,14 @@ def test_util(self):
492492
support.check__all__(self, util['Source'], extra=extra)
493493

494494

495+
class TestDeprecations(unittest.TestCase):
496+
def test_machinery_deprecated_constants(self):
497+
from importlib import machinery
498+
for attr in ('DEBUG_BYTECODE_SUFFIXES', 'OPTIMIZED_BYTECODE_SUFFIXES'):
499+
with self.subTest(attr=attr):
500+
with self.assertWarns(DeprecationWarning):
501+
getattr(machinery, attr)
502+
503+
495504
if __name__ == '__main__':
496505
unittest.main()

0 commit comments

Comments
 (0)