summaryrefslogtreecommitdiff
path: root/sphinx/ext/autodoc.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2009-02-17 23:55:05 +0100
committerGeorg Brandl <georg@python.org>2009-02-17 23:55:05 +0100
commitb42e9303f466bd39873ebbe32b26c472bc52bde4 (patch)
tree60be84d161f6d3e9e6713cdf18b754005f86c9db /sphinx/ext/autodoc.py
parent53ed60d6dc0a6a9d11b15b2cfd2af2e59fb1810d (diff)
downloadsphinx-git-b42e9303f466bd39873ebbe32b26c472bc52bde4.tar.gz
Update the test_autodoc for the autodoc refactorings and fix a few remaining bugs.
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r--sphinx/ext/autodoc.py42
1 files changed, 25 insertions, 17 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py
index 26cda61f8..585b0e25b 100644
--- a/sphinx/ext/autodoc.py
+++ b/sphinx/ext/autodoc.py
@@ -271,10 +271,13 @@ class Documenter(object):
self.modname, self.objpath = \
self.resolve_name(modname, parents, path, base)
+ if not self.modname:
+ return False
+
self.args = args
self.retann = retann
- self.fullname = self.modname + (self.objpath and
- '.' + '.'.join(self.objpath) or '')
+ self.fullname = (self.modname or '') + (self.objpath and
+ '.' + '.'.join(self.objpath) or '')
return True
def import_object(self):
@@ -305,17 +308,12 @@ class Documenter(object):
return None
def format_signature(self):
- err = None
if self.args is not None:
# signature given explicitly
args = "(%s)" % self.args
else:
# try to introspect the signature
- try:
- args = self.format_args()
- except Exception, e:
- args = None
- err = e
+ args = self.format_args()
if args is None:
return ''
retann = self.retann
@@ -328,9 +326,6 @@ class Documenter(object):
if args is not None:
return args + (retann and (' -> %s' % retann) or '')
- elif err:
- # re-raise the error for perusal of the handler in generate()
- raise RuntimeError(err)
else:
return ''
@@ -568,6 +563,9 @@ class Documenter(object):
class ModuleDocumenter(Documenter):
+ objtype = 'module'
+ content_indent = u''
+
option_spec = {
'members': members_option, 'undoc-members': bool_option,
'noindex': bool_option, 'inherited-members': bool_option,
@@ -605,13 +603,18 @@ class ModuleDocumenter(Documenter):
if self.options.deprecated:
self.add_line(u' :deprecated:', '<autodoc>')
- def get_object_members(self, members=None):
- if members is ALL or not hasattr(self.object, '__all__'):
- # for implicit module members, check __module__ to avoid
- # documenting imported objects
- return True, inspect.getmembers(self.object)
+ def get_object_members(self, want_all):
+ if want_all:
+ if not hasattr(self.object, '__all__'):
+ # for implicit module members, check __module__ to avoid
+ # documenting imported objects
+ return True, inspect.getmembers(self.object)
+ else:
+ memberlist = self.object.__all__
+ else:
+ memberlist = self.options.members
ret = []
- for mname in (members or self.object.__all__):
+ for mname in memberlist:
try:
ret.append((mname, getattr(self.object, mname)))
except AttributeError:
@@ -784,6 +787,11 @@ class ClassDocumenter(ModuleLevelDocumenter):
else:
ModuleLevelDocumenter.add_content(self, more_content)
+ def document_members(self, all_members=False):
+ if self.doc_as_attr:
+ return
+ ModuleLevelDocumenter.document_members(self, all_members)
+
class ExceptionDocumenter(ClassDocumenter):
objtype = 'exception'