]> granicus.if.org Git - python/commitdiff
[backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder".
authorSenthil Kumaran <senthil@uthcode.com>
Wed, 7 Sep 2016 07:52:20 +0000 (00:52 -0700)
committerSenthil Kumaran <senthil@uthcode.com>
Wed, 7 Sep 2016 07:52:20 +0000 (00:52 -0700)
Doc/c-api/import.rst
Lib/pkgutil.py
Lib/runpy.py
Lib/test/test_importlib/import_/test_meta_path.py
Lib/test/test_importlib/util.py
Lib/test/test_pkgutil.py
Misc/ACKS
Python/import.c

index 2936f4ff33dd6ba80b94ddff95fe2631cb602c23..5a083ce727b8407c535f6296604a54eca6cff5c8 100644 (file)
@@ -207,13 +207,13 @@ Importing Modules
 
 .. c:function:: PyObject* PyImport_GetImporter(PyObject *path)
 
-   Return an importer object for a :data:`sys.path`/:attr:`pkg.__path__` item
+   Return a finder object for a :data:`sys.path`/:attr:`pkg.__path__` item
    *path*, possibly by fetching it from the :data:`sys.path_importer_cache`
    dict.  If it wasn't yet cached, traverse :data:`sys.path_hooks` until a hook
    is found that can handle the path item.  Return ``None`` if no hook could;
-   this tells our caller it should fall back to the built-in import mechanism.
-   Cache the result in :data:`sys.path_importer_cache`.  Return a new reference
-   to the importer object.
+   this tells our caller that the :term:`path based finder` could not find a
+   finder for this path item. Cache the result in :data:`sys.path_importer_cache`.
+   Return a new reference to the finder object.
 
 
 .. c:function:: void _PyImport_Init()
index 0685378c44fbcfaafcf2710f272c3dedc8c50e3a..81d418da56e7e441c98fdac473b5ee4911e41ce3 100644 (file)
@@ -45,7 +45,7 @@ def read_code(stream):
 
 
 def walk_packages(path=None, prefix='', onerror=None):
-    """Yields (module_loader, name, ispkg) for all modules recursively
+    """Yields (module_finder, name, ispkg) for all modules recursively
     on path, or, if path is None, all accessible modules.
 
     'path' should be either None or a list of paths to look for
@@ -102,7 +102,7 @@ def walk_packages(path=None, prefix='', onerror=None):
 
 
 def iter_modules(path=None, prefix=''):
-    """Yields (module_loader, name, ispkg) for all submodules on path,
+    """Yields (module_finder, name, ispkg) for all submodules on path,
     or, if path is None, all top-level modules on sys.path.
 
     'path' should be either None or a list of paths to look for
@@ -184,10 +184,10 @@ def _import_imp():
         imp = importlib.import_module('imp')
 
 class ImpImporter:
-    """PEP 302 Importer that wraps Python's "classic" import algorithm
+    """PEP 302 Finder that wraps Python's "classic" import algorithm
 
-    ImpImporter(dirname) produces a PEP 302 importer that searches that
-    directory.  ImpImporter(None) produces a PEP 302 importer that searches
+    ImpImporter(dirname) produces a PEP 302 finder that searches that
+    directory.  ImpImporter(None) produces a PEP 302 finder that searches
     the current sys.path, plus any modules that are frozen or built-in.
 
     Note that ImpImporter does not currently support being used by placement
@@ -397,7 +397,7 @@ except ImportError:
 def get_importer(path_item):
     """Retrieve a finder for the given path item
 
-    The returned importer is cached in sys.path_importer_cache
+    The returned finder is cached in sys.path_importer_cache
     if it was newly created by a path hook.
 
     The cache (or part of it) can be cleared manually if a
@@ -421,14 +421,14 @@ def get_importer(path_item):
 def iter_importers(fullname=""):
     """Yield finders for the given module name
 
-    If fullname contains a '.', the importers will be for the package
+    If fullname contains a '.', the finders will be for the package
     containing fullname, otherwise they will be all registered top level
-    importers (i.e. those on both sys.meta_path and sys.path_hooks).
+    finders (i.e. those on both sys.meta_path and sys.path_hooks).
 
     If the named module is in a package, that package is imported as a side
     effect of invoking this function.
 
-    If no module name is specified, all top level importers are produced.
+    If no module name is specified, all top level finders are produced.
     """
     if fullname.startswith('.'):
         msg = "Relative module name {!r} not supported".format(fullname)
index e290c218b9d6f80045c88fe4e3a38c4bb946c4a2..d86f0e4a3c49ba5443ba9b3206716b3462fe4de5 100644 (file)
@@ -98,7 +98,7 @@ def _run_module_code(code, init_globals=None,
     # may be cleared when the temporary module goes away
     return mod_globals.copy()
 
-# Helper to get the loader, code and filename for a module
+# Helper to get the full name, spec and code for a module
 def _get_module_details(mod_name, error=ImportError):
     if mod_name.startswith("."):
         raise error("Relative module names not supported")
@@ -262,7 +262,7 @@ def run_path(path_name, init_globals=None, run_name=None):
         return _run_module_code(code, init_globals, run_name,
                                 pkg_name=pkg_name, script_name=fname)
     else:
-        # Importer is defined for path, so add it to
+        # Finder is defined for path, so add it to
         # the start of sys.path
         sys.path.insert(0, path_name)
         try:
index c452cdd063c4262ce65fc38d943112dd8070f124..5a41e8968a21fc8ed38b6ab751b0164fbf757de4 100644 (file)
@@ -76,7 +76,6 @@ class CallSignature:
                 self.__import__(mod_name)
                 assert len(log) == 1
                 args = log[0][0]
-                kwargs = log[0][1]
                 # Assuming all arguments are positional.
                 self.assertEqual(args[0], mod_name)
                 self.assertIsNone(args[1])
index 43896c50000a8c87478ef214e024e38515b37d7a..64e039e00feaae035e94d4d0a1c238a0df109b52 100644 (file)
@@ -266,7 +266,6 @@ class mock_spec(_ImporterMock):
             module = self.modules[fullname]
         except KeyError:
             return None
-        is_package = hasattr(module, '__path__')
         spec = util.spec_from_file_location(
                 fullname, module.__file__, loader=self,
                 submodule_search_locations=getattr(module, '__path__', None))
index 9d2035464c81ca92cda483941b56a7aa564d0df9..a82058760d82c1deb4cf9f154770bb5676f8b784 100644 (file)
@@ -205,7 +205,7 @@ class PkgutilPEP302Tests(unittest.TestCase):
         del sys.meta_path[0]
 
     def test_getdata_pep302(self):
-        # Use a dummy importer/loader
+        # Use a dummy finder/loader
         self.assertEqual(pkgutil.get_data('foo', 'dummy'), "Hello, world!")
         del sys.modules['foo']
 
index 280803080b13bae4b0c59cb5574e0ac45b3f5198..d8b2cc2fe99b215b635da314d6769113b12ba53c 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -990,6 +990,7 @@ Damien Miller
 Jason V. Miller
 Jay T. Miller
 Katie Miller
+Oren Milman
 Roman Milner
 Julien Miotte
 Andrii V. Mishkovskyi
index 7018d59e88b56d5f1a0636726dc405613b6ce35c..7e947ec2fc85189f19d5793b4eef66e5befe8978 100644 (file)
@@ -960,12 +960,13 @@ is_builtin(PyObject *name)
 }
 
 
-/* Return an importer object for a sys.path/pkg.__path__ item 'p',
+/* Return a finder object for a sys.path/pkg.__path__ item 'p',
    possibly by fetching it from the path_importer_cache dict. If it
    wasn't yet cached, traverse path_hooks until a hook is found
    that can handle the path item. Return None if no hook could;
-   this tells our caller it should fall back to the builtin
-   import mechanism. Cache the result in path_importer_cache.
+   this tells our caller that the path based finder could not find
+   a finder for this path item. Cache the result in
+   path_importer_cache.
    Returns a borrowed reference. */
 
 static PyObject *