Commits

Georg Brandl committed 98b2322

Fix #627: Fix tracebacks for AttributeErrors in autosummary generation.

  • Participants
  • Parent commits 06267ac

Comments (0)

Files changed (2)

 Release 1.0.8 (Sep 23, 2011)
 ============================
 
+* #627: Fix tracebacks for AttributeErrors in autosummary generation.
+
 * Fix the ``abbr`` role when the abbreviation has newlines in it.
 
 * #727: Fix the links to search results with custom object types.

sphinx/ext/autosummary/generate.py

 from sphinx.ext.autosummary import import_by_name, get_documenter
 from sphinx.jinja2glue import BuiltinTemplateLoader
 from sphinx.util.osutil import ensuredir
+from sphinx.util.inspect import safe_getattr
 
 def main(argv=sys.argv):
     usage = """%prog [OPTIONS] SOURCEFILE ..."""
                     template = template_env.get_template('autosummary/base.rst')
 
             def get_members(obj, typ, include_public=[]):
-                items = [
-                    name for name in dir(obj)
-                    if get_documenter(getattr(obj, name), obj).objtype == typ
-                ]
+                items = []
+                for name in dir(obj):
+                    try:
+                        documenter = get_documenter(safe_getattr(obj, name), obj)
+                    except AttributeError:
+                        continue
+                    if documenter.objtype == typ:
+                        items.append(name)
                 public = [x for x in items
                           if x in include_public or not x.startswith('_')]
                 return public, items