33from ._bootstrap import ModuleSpec
44from ._bootstrap import BuiltinImporter
55from ._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+ )
911from ._bootstrap_external import WindowsRegistryFinder
1012from ._bootstrap_external import PathFinder
1113from ._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} " )
0 commit comments