3
3
from ._bootstrap import ModuleSpec
4
4
from ._bootstrap import BuiltinImporter
5
5
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
+ )
9
11
from ._bootstrap_external import WindowsRegistryFinder
10
12
from ._bootstrap_external import PathFinder
11
13
from ._bootstrap_external import FileFinder
@@ -27,3 +29,22 @@ def all_suffixes():
27
29
'NamespaceLoader' , 'OPTIMIZED_BYTECODE_SUFFIXES' , 'PathFinder' ,
28
30
'SOURCE_SUFFIXES' , 'SourceFileLoader' , 'SourcelessFileLoader' ,
29
31
'WindowsRegistryFinder' , 'all_suffixes' ]
32
+
33
+
34
+ def __getattr__ (name ):
35
+ import warnings
36
+
37
+ if name == 'DEBUG_BYTECODE_SUFFIXES' :
38
+ warnings .warn ('importlib.machinery.DEBUG_BYTECODE_SUFFIXES is '
39
+ 'deprecated; use importlib.machinery.BYTECODE_SUFFIXES '
40
+ 'instead.' ,
41
+ DeprecationWarning , stacklevel = 2 )
42
+ return _DEBUG_BYTECODE_SUFFIXES
43
+ elif name == 'OPTIMIZED_BYTECODE_SUFFIXES' :
44
+ warnings .warn ('importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES is '
45
+ 'deprecated; use importlib.machinery.BYTECODE_SUFFIXES '
46
+ 'instead.' ,
47
+ DeprecationWarning , stacklevel = 2 )
48
+ return _OPTIMIZED_BYTECODE_SUFFIXES
49
+
50
+ raise AttributeError (f'module { __name__ !r} has no attribute { name !r} ' )
0 commit comments