Commit ff79486b authored by Nick Coghlan's avatar Nick Coghlan

Close #15519: Properly expose WindowsRegistryFinder in importlib and bring the...

Close #15519: Properly expose WindowsRegistryFinder in importlib and bring the name into line with normal import terminology. Original patch by Eric Snow
parent 8a9080fe
......@@ -603,6 +603,17 @@ find and load modules.
instantiation.
.. class:: WindowsRegistryFinder
:term:`Finder` for modules declared in the Windows registry. This class
implements the :class:`importlib.abc.MetaPathFinder` ABC.
Only class methods are defined by this class to alleviate the need for
instantiation.
.. versionadded:: 3.3
.. class:: PathFinder
:term:`Finder` for :data:`sys.path`. This class implements the
......
......@@ -720,9 +720,9 @@ class FrozenImporter:
return _imp.is_frozen_package(fullname)
class WindowsRegistryImporter:
class WindowsRegistryFinder:
"""Meta path import for modules declared in the Windows registry.
"""Meta path finder for modules declared in the Windows registry.
"""
REGISTRY_KEY = (
......@@ -1683,7 +1683,7 @@ def _setup(sys_module, _imp_module):
if builtin_os == 'nt':
SOURCE_SUFFIXES.append('.pyw')
if '_d.pyd' in _imp.extension_suffixes():
WindowsRegistryImporter.DEBUG_BUILD = True
WindowsRegistryFinder.DEBUG_BUILD = True
def _install(sys_module, _imp_module):
......@@ -1694,5 +1694,5 @@ def _install(sys_module, _imp_module):
sys.meta_path.append(BuiltinImporter)
sys.meta_path.append(FrozenImporter)
if _os.__name__ == 'nt':
sys.meta_path.append(WindowsRegistryImporter)
sys.meta_path.append(WindowsRegistryFinder)
sys.meta_path.append(PathFinder)
......@@ -59,7 +59,7 @@ class MetaPathFinder(Finder):
raise NotImplementedError
_register(MetaPathFinder, machinery.BuiltinImporter, machinery.FrozenImporter,
machinery.PathFinder)
machinery.PathFinder, machinery.WindowsRegistryFinder)
class PathEntryFinder(Finder):
......
......@@ -6,6 +6,7 @@ from ._bootstrap import (SOURCE_SUFFIXES, DEBUG_BYTECODE_SUFFIXES,
OPTIMIZED_BYTECODE_SUFFIXES, BYTECODE_SUFFIXES)
from ._bootstrap import BuiltinImporter
from ._bootstrap import FrozenImporter
from ._bootstrap import WindowsRegistryFinder
from ._bootstrap import PathFinder
from ._bootstrap import FileFinder
from ._bootstrap import SourceFileLoader
......
......@@ -34,7 +34,7 @@ class MetaPathFinder(InheritanceTests, unittest.TestCase):
superclasses = [abc.Finder]
subclasses = [machinery.BuiltinImporter, machinery.FrozenImporter,
machinery.PathFinder]
machinery.PathFinder, machinery.WindowsRegistryFinder]
class PathEntryFinder(InheritanceTests, unittest.TestCase):
......
......@@ -72,6 +72,9 @@ Core and Builtins
Library
-------
- Issue #15519: Properly expose WindowsRegistryFinder in importlib (and use
the correct term for it). Original patch by Eric Snow.
- Issue #15502: Bring the importlib ABCs into line with the current state
of the import protocols given PEP 420. Original patch by Eric Snow.
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment