Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#323 --graph=umlclasstree yields TypeError

open
Edward Loper
other (40)
5
2014-05-21
2009-11-24
Anonymous
No

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).

Discussion

  • configuration file

     
    Attachments
  • 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.

     
  • Lukas Pirl
    Lukas Pirl
    2014-05-21

    Looks related to [#364]

     

    Related

    Bugs: #364

  • Lukas Pirl
    Lukas Pirl
    2014-05-21

    Probably fixed in [r1728]

     

    Related

    Commit: [r1728]