Commit 78246b6b authored by Brett Cannon's avatar Brett Cannon

Document both importlib.machinery.BuiltinImporter and FrozenImporter.

parent 51d4aabf
......@@ -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.
to do
/////
* Document:
+ The terms "importer", "finder", and "loader".
+ machinery.BuiltinImporter.
+ machinery.FrozenImporter.
* Expose resolve_name().
* Backport to Python 2.7.
......
......@@ -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))
......
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