##// END OF EJS Templates
Fix bug where 'if 1:' was being added to comment-only code....
Fix bug where 'if 1:' was being added to comment-only code. Found by trying to paste and run this example: http://matplotlib.sourceforge.net/examples/api/collections_demo.html that happened to have indented, comment-only lines of the type: code() # comment code() In these cases, we should *not* try to prepend 'if 1:' to the user's code since that comment by itself isn't executable, and it will cause a compiler IndentationError.

File last commit:

r2751:88558178
r2979:63d38bdf
Show More
autogen_api.py
79 lines | 3.7 KiB | text/x-python | PythonLexer
Fernando Perez
Update docs for automatic API building.
r1850 #!/usr/bin/env python
"""Script to auto-generate our API docs.
"""
# stdlib imports
import os
import sys
# local imports
sys.path.append(os.path.abspath('sphinxext'))
from apigen import ApiDocWriter
#*****************************************************************************
if __name__ == '__main__':
pjoin = os.path.join
package = 'IPython'
outdir = pjoin('source','api','generated')
docwriter = ApiDocWriter(package,rst_extension='.txt')
Brian Granger
Cleanup of docs....
r2275 # You have to escape the . here because . is a special char for regexps.
# You must do make clean if you change this!
Fernando Perez
Update docs for automatic API building.
r1850 docwriter.package_skip_patterns += [r'\.fixes$',
Brian Granger
Cleanup of docs....
r2275 r'\.external$',
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 r'\.extensions',
Brian Granger
Cleanup of docs....
r2275 r'\.kernel\.config',
Fernando Perez
Update docs for automatic API building.
r1850 r'\.attic',
Brian Granger
General work on inputhook and the docs....
r2197 r'\.quarantine',
Brian Granger
Cleanup of docs....
r2275 r'\.deathrow',
r'\.config\.default',
r'\.config\.profile',
r'\.frontend',
Fernando Perez
Major overhaul of the messaging documentation.
r2735 r'\.gui',
# For now, the zmq code has
# unconditional top-level code so it's
# not import safe. This needs fixing
# soon.
r'\.zmq',
Fernando Perez
Update docs for automatic API building.
r1850 ]
Fernando Perez
Small fixes so the docs build....
r2404
Brian Granger
Cleanup of docs....
r2275 docwriter.module_skip_patterns += [ r'\.core\.fakemodule',
Fernando Perez
Small fixes so the docs build....
r2404
# XXX These need fixing, disabling for
# now but we need to figure out why
# they are breaking. Error from sphinx
# for each group copied below
# AttributeError: __abstractmethods__
Brian Granger
Updating autogen_api.py....
r2751 r'\.config\.configurable',
Fernando Perez
Small fixes so the docs build....
r2404 r'\.utils\.traitlets',
# AttributeError: __provides__
r'\.kernel\.clusterdir',
r'\.kernel\.configobjfactory',
r'\.kernel\.fcutil',
r'\.kernel\.ipcontrollerapp',
r'\.kernel\.launcher',
r'\.kernel\.task',
r'\.kernel\.winhpcjob',
r'\.testing\.util',
# Keeping these disabled is OK
Fernando Perez
Update docs for automatic API building.
r1850 r'\.cocoa',
r'\.ipdoctest',
r'\.Gnuplot',
Brian Granger
Cleanup of docs....
r2275 r'\.frontend\.process\.winprocess',
Fernando Perez
Several small fixes during code review with Brian....
r2339 r'\.Shell',
Fernando Perez
Update docs for automatic API building.
r1850 ]
Fernando Perez
Generate docs correctly if pexpect is not available....
r2568
# If we don't have pexpect, we can't load irunner, so skip any code that
# depends on it
try:
import pexpect
except ImportError:
docwriter.module_skip_patterns += [r'\.lib\.irunner',
r'\.testing\.mkdoctests']
# Now, generate the outputs
Fernando Perez
Update docs for automatic API building.
r1850 docwriter.write_api_docs(outdir)
docwriter.write_index(outdir, 'gen',
relative_to = pjoin('source','api')
)
print '%d files written' % len(docwriter.written_modules)