diff options
author | Georg Brandl <georg@python.org> | 2012-11-01 17:52:41 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2012-11-01 17:52:41 +0100 |
commit | 72962c99b716268a3f08d773f559891fde72227b (patch) | |
tree | 5a3c545b1a58f02a3d866a730c1fadc12e7b07a5 | |
parent | 21d57d3125feb59a38432b08bb9ffea9d0b1855c (diff) | |
download | sphinx-git-72962c99b716268a3f08d773f559891fde72227b.tar.gz |
Fix test_autodoc with Python 3.3, patches by Jon and Takayuki.
-rw-r--r-- | sphinx/ext/autodoc.py | 2 | ||||
-rw-r--r-- | sphinx/util/__init__.py | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index b0657dc9e..44c7ad8bb 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -1105,7 +1105,7 @@ class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): """ objtype = 'method' member_order = 50 - priority = 0 + priority = 1 # must be more than FunctionDocumenter @classmethod def can_document_member(cls, member, membername, isattr, parent): diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 6cb83aec2..5d0c28119 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -197,13 +197,18 @@ def get_module_source(modname): except Exception, err: raise PycodeError('error importing %r' % modname, err) mod = sys.modules[modname] - if hasattr(mod, '__loader__'): + filename = getattr(mod, '__file__', None) + loader = getattr(mod, '__loader__', None) + if loader and getattr(loader, 'get_filename', None): + try: + filename = loader.get_filename(modname) + except Exception, err: + raise PycodeError('error getting filename for %r' % filename, err) + if filename is None and loader: try: - source = mod.__loader__.get_source(modname) + return 'string', loader.get_source(modname) except Exception, err: raise PycodeError('error getting source for %r' % modname, err) - return 'string', source - filename = getattr(mod, '__file__', None) if filename is None: raise PycodeError('no source found for module %r' % modname) filename = path.normpath(path.abspath(filename)) |