diff options
author | Georg Brandl <georg@python.org> | 2014-01-19 10:34:52 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2014-01-19 10:34:52 +0100 |
commit | 5023da8ac31534f6bf3104fd3e5cf63a7a28df6c (patch) | |
tree | 4f074125cdc04c10c816dc2228e065415d0f43f7 /sphinx/ext/autodoc.py | |
parent | e897e1e518c302deef8e69eb9faed98b2513ebc2 (diff) | |
download | sphinx-git-5023da8ac31534f6bf3104fd3e5cf63a7a28df6c.tar.gz |
mock: little changes, changelog and versionadded
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r-- | sphinx/ext/autodoc.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index 6c13e2432..86837ff8b 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -71,6 +71,7 @@ class Options(dict): class _MockModule(object): + """Used by autodoc_mock_imports.""" def __init__(self, *args, **kwargs): pass @@ -89,6 +90,14 @@ class _MockModule(object): else: return _MockModule() +def mock_import(modname): + if '.' in modname: + pkg, _n, mods = modname.rpartition('.') + mock_import(pkg) + mod = _MockModule() + sys.modules[modname] = mod + return mod + ALL = object() INSTANCEATTR = object() @@ -353,7 +362,8 @@ class Documenter(object): try: dbg('[autodoc] import %s', self.modname) for modname in self.env.config.autodoc_mock_imports: - self._mock_import(modname) + dbg('[autodoc] adding a mock module %s!', self.modname) + mock_import(modname) __import__(self.modname) parent = None obj = self.module = sys.modules[self.modname] @@ -383,15 +393,6 @@ class Documenter(object): self.env.note_reread() return False - def _mock_import(self, modname): - if '.' in modname: - pkg, _n, mods = modname.rpartition('.') - self._mock_import(pkg) - mod = _MockModule() - sys.modules[modname] = mod - return mod - - def get_real_modname(self): """Get the real module name of an object to document. |