In our codebase, we have some instances where the docstringparser.py fails. I believe this happens when people do something like this:
__author__ = ('foo'
'bar'
'baz')
I tracked down a place in docstringparser.py that apears to 'raise' an exception unintentionally. Within this function,
def add_metadata_from_var(api_doc, field):
we read:
if field.multivalue and not value:
try: value = epydoc.docparser.parse_string_list(val_doc.toktree)
except KeyboardInterrupt: raise
except: raise
I believe that the last line should be 'except: pass' - this would make it consistent with the very similar code above and also with the comment, which says "Try extracting ...". In any case, with this fix, epydoc is able to process our codebase successfully. Thanks much for considering it!
This is fixed in trunk, revision 1715, 2008-02-13 20:19:47