[Python-checkins] cpython: Issue #14605: Rename _SourcelessFileLoader to SourcelessFileLoader

marc-andre.lemburg python-checkins at python.org
Wed Apr 25 01:37:03 CEST 2012


http://hg.python.org/cpython/rev/8aa4737d67d2
changeset:   76546:8aa4737d67d2
user:        Marc-Andre Lemburg <mal at egenix.com>
date:        Wed Apr 25 01:36:48 2012 +0200
summary:
  Issue #14605: Rename _SourcelessFileLoader to SourcelessFileLoader

files:
  Doc/library/importlib.rst                          |  13 +++------
  Lib/imp.py                                         |   2 +-
  Lib/importlib/_bootstrap.py                        |   4 +-
  Lib/importlib/abc.py                               |   2 +-
  Lib/importlib/machinery.py                         |   2 +-
  Lib/importlib/test/source/test_case_sensitivity.py |   2 +-
  Lib/importlib/test/source/test_file_loader.py      |   2 +-
  Lib/importlib/test/source/test_finder.py           |   2 +-
  Lib/importlib/test/test_abc.py                     |   2 +-
  Misc/NEWS                                          |   2 +-
  10 files changed, 15 insertions(+), 18 deletions(-)


diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -606,18 +606,15 @@
       Load the specified module if it is the same as :attr:`name`.
 
 
-.. class:: _SourcelessFileLoader(fullname, path)
+.. class:: SourcelessFileLoader(fullname, path)
 
    A concrete implementation of :class:`importlib.abc.FileLoader` which can
    import bytecode files (i.e. no source code files exist).
 
-   It is **strongly** suggested you do not rely on this loader (hence the
-   leading underscore of the class). Direct use of bytecode files (and thus not
-   source code files) inhibits your modules from being usable by all Python
-   implementations. It also runs the risk of your bytecode files not being
-   usable by new versions of Python which change the bytecode format. This
-   class is only documented as it is directly used by import and thus can
-   potentially have instances show up as a module's ``__loader__`` attribute.
+   Please note that direct use of bytecode files (and thus not source code
+   files) inhibits your modules from being usable by all Python
+   implementations or new versions of Python which change the bytecode
+   format.
 
    .. versionadded:: 3.3
 
diff --git a/Lib/imp.py b/Lib/imp.py
--- a/Lib/imp.py
+++ b/Lib/imp.py
@@ -94,7 +94,7 @@
 
 
 class _LoadCompiledCompatibility(_HackedGetData,
-        _bootstrap._SourcelessFileLoader):
+        _bootstrap.SourcelessFileLoader):
 
     """Compatibility support for implementing load_compiled()."""
 
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -671,7 +671,7 @@
             pass
 
 
-class _SourcelessFileLoader(FileLoader, _LoaderBasics):
+class SourcelessFileLoader(FileLoader, _LoaderBasics):
 
     """Loader which handles sourceless file imports."""
 
@@ -1198,7 +1198,7 @@
 
     supported_loaders = [(ExtensionFileLoader, _suffix_list(3), False),
                          (SourceFileLoader, _suffix_list(1), True),
-                         (_SourcelessFileLoader, _suffix_list(2), True)]
+                         (SourcelessFileLoader, _suffix_list(2), True)]
     setattr(self_module, '_DEFAULT_PATH_HOOK',
             FileFinder.path_hook(*supported_loaders))
 
diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py
--- a/Lib/importlib/abc.py
+++ b/Lib/importlib/abc.py
@@ -119,7 +119,7 @@
     ExecutionLoader ABCs."""
 
 _register(FileLoader, machinery.SourceFileLoader,
-            machinery._SourcelessFileLoader)
+            machinery.SourcelessFileLoader)
 
 
 class SourceLoader(_bootstrap.SourceLoader, ResourceLoader, ExecutionLoader):
diff --git a/Lib/importlib/machinery.py b/Lib/importlib/machinery.py
--- a/Lib/importlib/machinery.py
+++ b/Lib/importlib/machinery.py
@@ -5,5 +5,5 @@
 from ._bootstrap import PathFinder
 from ._bootstrap import FileFinder
 from ._bootstrap import SourceFileLoader
-from ._bootstrap import _SourcelessFileLoader
+from ._bootstrap import SourcelessFileLoader
 from ._bootstrap import ExtensionFileLoader
diff --git a/Lib/importlib/test/source/test_case_sensitivity.py b/Lib/importlib/test/source/test_case_sensitivity.py
--- a/Lib/importlib/test/source/test_case_sensitivity.py
+++ b/Lib/importlib/test/source/test_case_sensitivity.py
@@ -24,7 +24,7 @@
                                         (_bootstrap.SourceFileLoader,
                                             _bootstrap._suffix_list(imp.PY_SOURCE),
                                             True),
-                                        (_bootstrap._SourcelessFileLoader,
+                                        (_bootstrap.SourcelessFileLoader,
                                             _bootstrap._suffix_list(imp.PY_COMPILED),
                                             True))
         return finder.find_module(self.name)
diff --git a/Lib/importlib/test/source/test_file_loader.py b/Lib/importlib/test/source/test_file_loader.py
--- a/Lib/importlib/test/source/test_file_loader.py
+++ b/Lib/importlib/test/source/test_file_loader.py
@@ -379,7 +379,7 @@
 
 class SourcelessLoaderBadBytecodeTest(BadBytecodeTest):
 
-    loader = _bootstrap._SourcelessFileLoader
+    loader = _bootstrap.SourcelessFileLoader
 
     def test_empty_file(self):
         def test(name, mapping, bytecode_path):
diff --git a/Lib/importlib/test/source/test_finder.py b/Lib/importlib/test/source/test_finder.py
--- a/Lib/importlib/test/source/test_finder.py
+++ b/Lib/importlib/test/source/test_finder.py
@@ -38,7 +38,7 @@
     def import_(self, root, module):
         loader_details = [(_bootstrap.SourceFileLoader,
                             _bootstrap._suffix_list(imp.PY_SOURCE), True),
-                          (_bootstrap._SourcelessFileLoader,
+                          (_bootstrap.SourcelessFileLoader,
                             _bootstrap._suffix_list(imp.PY_COMPILED), True)]
         finder = _bootstrap.FileFinder(root, *loader_details)
         return finder.find_module(module)
diff --git a/Lib/importlib/test/test_abc.py b/Lib/importlib/test/test_abc.py
--- a/Lib/importlib/test/test_abc.py
+++ b/Lib/importlib/test/test_abc.py
@@ -62,7 +62,7 @@
 class FileLoader(InheritanceTests, unittest.TestCase):
 
     superclasses = [abc.ResourceLoader, abc.ExecutionLoader]
-    subclasses = [machinery.SourceFileLoader, machinery._SourcelessFileLoader]
+    subclasses = [machinery.SourceFileLoader, machinery.SourcelessFileLoader]
 
 
 class SourceLoader(InheritanceTests, unittest.TestCase):
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -84,7 +84,7 @@
   which send EOF without trailing \r\n.
 
 - Issue #14605: Add importlib.abc.FileLoader, importlib.machinery.(FileFinder,
-  SourceFileLoader, _SourcelessFileLoader, ExtensionFileLoader).
+  SourceFileLoader, SourcelessFileLoader, ExtensionFileLoader).
 
 - Issue #13959: imp.cache_from_source()/source_from_cache() now follow
   os.path.join()/split() semantics for path manipulation instead of its prior,

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list