]> granicus.if.org Git - python/commitdiff
Document both importlib.machinery.BuiltinImporter and FrozenImporter.
authorBrett Cannon <bcannon@gmail.com>
Sun, 25 Jan 2009 04:56:30 +0000 (04:56 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sun, 25 Jan 2009 04:56:30 +0000 (04:56 +0000)
Doc/library/importlib.rst
Lib/importlib/NOTES
Lib/importlib/_bootstrap.py

index 3f33cfb5dfc111ef55087ea4135646ffd87d9469..ea56981315ce541d465fb9d1d7e61d58a995a5a2 100644 (file)
@@ -61,7 +61,7 @@ providing custom importers can be found in :pep:`302`.
 Functions
 ---------
 
-.. function:: __import__(name, globals={}, locals={}, fromlist=\[\], level=0)
+.. function:: __import__(name, globals={}, locals={}, fromlist=list(), level=0)
 
     An implementation of the built-in :func:`__import__` function. See the
     built-in function's documentation for usage instructions.
@@ -76,3 +76,49 @@ Functions
     package name (e.g. ``import_module('..mod', 'pkg.subpkg')`` will import
     ``pkg.mod``). The specified module will be inserted into
     :data:`sys.modules` and returned.
+
+
+:mod:`importlib.machinery` -- Importers and path hooks
+------------------------------------------------------
+
+.. module:: importlib.machinery
+    :synopsis: Importers and path hooks
+
+This module contains the various objects that help :keyword:`import`
+find and load modules.
+
+.. class:: BuiltinImporter
+
+    :term:`Importer` for built-in modules. All known built-in modules are
+    listed in :data:`sys.builtin_module_names`.
+
+    Only class methods are defined by this class to alleviate the need for
+    instantiation.
+
+    .. method:: find_module(fullname, path=None)
+
+        Class method that allows this class to be a :term:`finder` for built-in
+        modules.
+
+    .. method:: load_module(fullname)
+
+        Class method that allows this class to be a :term:`loader` for built-in
+        modules.
+
+
+.. class:: FrozenImporter
+
+    :term:`Importer` for frozen modules.
+
+    Only class methods are defined by this class to alleviate the need for
+    instantiation.
+
+    .. method:: find_module(fullname, path=None)
+
+        Class method that allows this class to be a :term:`finder` for frozen
+        modules.
+
+    .. method:: load_module(fullname)
+
+        Class method that allows this class to be a :term:`loader` for frozen
+        modules.
index 028f78948c40bcc0156c49384879057c9ff76808..6d6464c28af92e2672f0afd17b6ebcf1b3ae4fea 100644 (file)
@@ -1,12 +1,6 @@
 to do
 /////
 
-* Document:
-
-    + The terms "importer", "finder", and "loader".
-    + machinery.BuiltinImporter.
-    + machinery.FrozenImporter.
-
 * Expose resolve_name().
 
 * Backport to Python 2.7.
index d11513adc3e43a8a381605c3682f3eff29bbf024..c1d09dd2f7d07ac6f3453ed0457aa021222cb999 100644 (file)
@@ -110,8 +110,8 @@ class BuiltinImporter:
             return None
         return cls if imp.is_builtin(fullname) else None
 
-    @staticmethod
-    def load_module(fullname):
+    @classmethod
+    def load_module(cls, fullname):
         """Load a built-in module."""
         if fullname not in sys.builtin_module_names:
             raise ImportError("{0} is not a built-in module".format(fullname))