I have a really simple project which uses the included configuration file. Making regular documentation with 'epydoc -v --config doc.conf' works very well. However when I add the '--graph=umlclasstree' flag to get a UML diagram, the program fails with a TypeError:
$ epydoc -v --graph=umlclasstree --config doc.conf --debug
Traceback (most recent call last): Progress: 00:00
File "/usr/bin/epydoc", line 13, in <module>=================================================================================================================================================-----------------]
cli() Writing HTML docs to 'doc': int-class.html
File "/var/lib/python-support/python2.6/epydoc/cli.py", line 965, in cli
main(options, names)
File "/var/lib/python-support/python2.6/epydoc/cli.py", line 783, in main
write_html(docindex, options)
File "/var/lib/python-support/python2.6/epydoc/cli.py", line 823, in write_html
html_writer.write(options.target)
File "/var/lib/python-support/python2.6/epydoc/docwriter/html.py", line 641, in write
self._write(self.write_class, directory, filename, doc)
File "/var/lib/python-support/python2.6/epydoc/docwriter/html.py", line 711, in _write
write_func(f.write, *args)
File "/var/lib/python-support/python2.6/epydoc/docwriter/html.py", line 851, in write_class
self.write_class_tree_graph(out, doc, uml_class_tree_graph)
File "/var/lib/python-support/python2.6/epydoc/docwriter/html.py", line 944, in write_class_tree_graph
self.render_graph(graphmaker(doc, linker, doc)))
File "/var/lib/python-support/python2.6/epydoc/docwriter/dotgraph.py", line 1098, in uml_class_tree_graph
bgcolor=SUBCLASS_BG)
File "/var/lib/python-support/python2.6/epydoc/docwriter/dotgraph.py", line 470, in __init__
for var in class_doc.sorted_variables:
TypeError: iteration over non-sequence
I use version 3.0.1 and my system is ubuntu linux 9.04 (graphviz is installed).
configuration file
Additional information:
It seems like the problem happens for a class which inherits Tkinter.Frame in the Tkinter package. Trying to make a class diagram for a file containing this:
import Tkinter
class foo(Tkinter.Frame):
pass
results in the same error. Perhaps there is some error in Tkinter, but still I think it should not effect epydoc.
Looks related to [#364]
Related
Bugs: #364
Probably fixed in [r1728]
Related
Commit: [r1728]