epydoc currently crashes when processing the ipython1 sources:
Here's a very detailed traceback, generated with ipython itself:
In [2]: run /home/fperez/usr/local/bin/epydoc --debug --docformat=restructuredtext --parse-only --html -v -o docs/html-api ipython1
[... long output snipped... last frames of stack: ]
/home/fperez/usr/local/lib/python2.5/site-packages/epydoc/docparser.pyc in parse_string_list(elt_list=[(3, u"'%s <%s>'"), (51, u'%'), (1, u'Release'), (51, u'.'), (1, u'authors'), [(51, u'['), (3, u"'Fernando'"), (51, u']')]])
1828 string_list = []
1829 for string_elt in split_on(elt_list, (token.OP, ',')):
-> 1830 string_list.append(parse_string(string_elt))
1831
1832 return string_list
/home/fperez/usr/local/lib/python2.5/site-packages/epydoc/docparser.pyc in parse_string(elt_list=[(3, u"'%s <%s>'"), (51, u'%'), (1, u'Release'), (51, u'.'), (1, u'authors'), [(51, u'['), (3, u"'Fernando'"), (51, u']')]])
1818 return eval(elt_list[0][1])
1819 else:
-> 1820 raise ParseError("Expected a string")
1821
1822 # ['1', 'b', 'c']
ParseError: Expected a string
WARNING: Failure executing file: </home/fperez/usr/local/bin/epydoc>
The full stack, in abbreviated mode, is:
Traceback (most recent call last): Progress: 00:32
File "/home/fperez/usr/local/bin/epydoc", line 13, in <module>------------]
cli() Parsing docstrings: ipython1.core.prompts
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/cli.py", line 965, in cli
main(options, names)
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/cli.py", line 757, in main
exclude_parse=exclude_parse)
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/docbuilder.py", line 275, in build_doc_index
parse_docstring(val_doc, docindex, suppress_warnings)
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/docstringparser.py", line 261, in parse_docstring
add_metadata_from_var(api_doc, field)
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/docstringparser.py", line 323, in add_metadata_from_var
try: value = epydoc.docparser.parse_string_list(val_doc.toktree)
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/docparser.py", line 1830, in parse_string_list
string_list.append(parse_string(string_elt))
File "/home/fperez/usr/local//lib/python2.5/site-packages/epydoc/docparser.py", line 1820, in parse_string
raise ParseError("Expected a string")
epydoc.docparser.ParseError: Expected a string
This has been tested with epydoc 3.0 from the site.
The problem appears to be twofold:
1. epydoc expects the __author__ field to parse to a string. In the above case, that field reads
__author__ = '%s <%s>' % Release.authors['Fernando']
so we can keep authorship contact info in a single place. The field will indeed be a string, but it's not syntactically one yet, and epydoc parses this incorrectly.
2. The above parse error causes the entire run to crash to a halt, instead of simply not defining that field and at least finishing the job.
<h1>impenetrable quaked bevy indifference?salvaging Bourbaki deferments </h1>