Given a module containing a base class with a nested class, which then deletes the base class after using it to define a subclass, such as this trivial example:
########
class base(object):
class nested(object):
pass
class derived(base):
pass
del base
########
Using introspection EpyDoc raises an IOError during processing:
Traceback (most recent call last):
File "C:\Program Files\Python\Scripts\epydoc.py", line 16, in <module>
cli()
File "C:\Program Files\Python\lib\site-packages\epydoc\cli.py", line 965, in cli
main(options, names)
File "C:\Program Files\Python\lib\site-packages\epydoc\cli.py", line 783, in main
write_html(docindex, options)
File "C:\Program Files\Python\lib\site-packages\epydoc\cli.py", line 823, in write_html
html_writer.write(options.target)
File "C:\Program Files\Python\lib\site-packages\epydoc\docwriter\html.py", line 641, in write
self._write(self.write_class, directory, filename, doc)
File "C:\Program Files\Python\lib\site-packages\epydoc\docwriter\html.py", line 710, in _write
f = codecs.open(path, 'w', 'ascii', errors='xmlcharrefreplace')
File "C:\Program Files\Python\lib\codecs.py", line 817, in open
file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: 'docs/html\\??.nested-class.html'