def run(self): try: epydoc_conf = os.path.join('doc', 'config.epy') from epydoc import cli # Move __init__.py to init.py before making documentation true_init = "__init__.py" temp_init = "init.py" # Take out __init__.pyc file since this causes build problems try: os.remove(true_init + "c") except OSError: # File is not found, do nothing pass os.rename(true_init, temp_init) old_argv = sys.argv[1:] cli_call = ["--config=%s" % epydoc_conf, "--verbose"] if self.no_sourcecode: cli_call.append("--no-sourcecode") else: cli_call.append("--show-sourcecode") sys.argv[1:] = cli_call cli.cli() sys.argv[1:] = old_argv os.rename(temp_init, true_init) except ImportError: print "Epydoc is needed to create API documentation. Skipping.." # Make SNS NAPI documentation via doxygen if self.no_sourcecode: doxygen_conf = os.path.join('doc', 'config_ns.dox') else: doxygen_conf = os.path.join('doc', 'config.dox') doxygen_cmd = "doxygen " + doxygen_conf fout = os.popen(doxygen_cmd) output = fout.readlines() status = fout.close() if status is not None: status = status >> 8 if status == 127: print "Doxygen is needed to create SNAPI docmentation. "\ +"Skipping.." else: print "Doxygen execution failed with code %d" % status else: # Everything went fine with doxygen, show the output print "Running doxygen....." print "".join(output)
def run(self): try: epydoc_conf = os.path.join("doc", "config.epy") from epydoc import cli # Move __init__.py to init.py before making documentation true_init = "__init__.py" temp_init = "init.py" # Take out __init__.pyc file since this causes build problems try: os.remove(true_init + "c") except OSError: # File is not found, do nothing pass os.rename(true_init, temp_init) old_argv = sys.argv[1:] cli_call = ["--config=%s" % epydoc_conf, "--verbose"] if self.no_sourcecode: cli_call.append("--no-sourcecode") else: cli_call.append("--show-sourcecode") sys.argv[1:] = cli_call cli.cli() sys.argv[1:] = old_argv os.rename(temp_init, true_init) except ImportError: print "Epydoc is needed to create API documentation. Skipping.." # Make SNS NAPI documentation via doxygen if self.no_sourcecode: doxygen_conf = os.path.join("doc", "config_ns.dox") else: doxygen_conf = os.path.join("doc", "config.dox") doxygen_cmd = "doxygen " + doxygen_conf fout = os.popen(doxygen_cmd) output = fout.readlines() status = fout.close() if status is not None: status = status >> 8 if status == 127: print "Doxygen is needed to create SNAPI docmentation. " + "Skipping.." else: print "Doxygen execution failed with code %d" % status else: # Everything went fine with doxygen, show the output print "Running doxygen....." print "".join(output)
def gen_api_docs(): sys.argv += [ '--parse-only', '--name', 'Pyjs', '--url', 'http://pyjs.org', '-o', path.join(out, 'api'), '--exclude', 'pyjamas.raphael', '--exclude', 'pyjamas.selection', '--exclude', 'pyjamas.chart', '--exclude', 'pyjamas.Canvas', path.abspath(path.join(out, '..', 'library', 'pyjamas')) ] cli.cli()
def create_pydoc(): import sys, os from epydoc.cli import cli for x in "-v -o pyspec_epydoc --name pyspec --graph all --dotpath".split(): sys.argv.append(x) sys.argv.append(r"C:\Program Files\ATT\Graphviz\bin\dot.exe") sys.argv.append("pyspec") cli()
def docs(): "create documentation" from epydoc import cli # pylint: disable=no-name-in-module easy.path('build').exists() or easy.path('build').makedirs() # get storage path docs_dir = easy.options.docs.get('docs_dir', 'build/apidocs') # clean up previous docs (easy.path(docs_dir) / "epydoc.css").exists() and easy.path(docs_dir).rmtree() # set up includes try: include_names = easy.options.docs.includes except AttributeError: include_names = [] else: include_names = include_names.replace(',', ' ').split() # set up excludes try: exclude_names = easy.options.docs.excludes except AttributeError: exclude_names = [] else: exclude_names = exclude_names.replace(',', ' ').split() excludes = [] for pkg in exclude_names: excludes.append("--exclude") excludes.append('^' + re.escape(pkg)) # call epydoc in-process sys_argv = sys.argv try: sys.argv = [ sys.argv[0] + "::epydoc", "-v", "--inheritance", "listed", "--output", os.path.abspath(docs_dir), "--name", "%s %s" % (easy.options.setup.name, easy.options.setup.version), "--url", easy.options.setup.url, "--graph", "umlclasstree", ] + excludes + support.toplevel_packages() + include_names sys.stderr.write("Running '%s'\n" % ("' '".join(sys.argv))) cli.cli() finally: sys.argv = sys_argv
def run(self): try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=epydoc.conf' ] cli.cli() sys.argv[1:] = old_argv except ImportError: print 'epydoc ei asennettuna, ei tehdä dokumentaatiota'
def generateAPI(opts): sys.argv = ['-v' for i in range(opts.verbosity)] sys.argv += [ '--parse-only', '--name', 'Pyjs', '--url', 'http://pyjs.org', '-o', join(opts.target, 'api'), '--exclude', 'pyjamas.raphael', '--exclude', 'pyjamas.selection', '--exclude', 'pyjamas.chart', '--exclude', 'pyjamas.Canvas', join(opts.pyjs, 'library/pyjamas') ] cli.cli()
def run(self): from docutils.core import publish_cmdline from docutils.nodes import raw from docutils.parsers import rst docutils_conf = os.path.join('doc', 'conf', 'docutils.ini') epydoc_conf = os.path.join('doc', 'conf', 'epydoc.ini') try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter def code_block(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): lexer = get_lexer_by_name(arguments[0]) html = highlight('\n'.join(content), lexer, HtmlFormatter()) return [raw('', html, format='html')] code_block.arguments = (1, 0, 0) code_block.options = {'language': rst.directives.unchanged} code_block.content = 1 rst.directives.register_directive('code-block', code_block) except ImportError: print('Pygments not installed, syntax highlighting disabled') for source in glob('doc/*.txt'): dest = os.path.splitext(source)[0] + '.html' if self.force or not os.path.exists(dest) or \ os.path.getmtime(dest) < os.path.getmtime(source): print('building documentation file %s' % dest) publish_cmdline( writer_name='html', argv=['--config=%s' % docutils_conf, source, dest]) if not self.without_apidocs: try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=%s' % epydoc_conf, '--no-private', # epydoc bug, not read from config '--simple-term', '--verbose' ] cli.cli() sys.argv[1:] = old_argv except ImportError: print('epydoc not installed, skipping API documentation.')
def docs(): "create documentation" from epydoc import cli # pylint: disable=W0404 easy.path('build').exists() or easy.path('build').makedirs() # get storage path docs_dir = easy.options.docs.get('docs_dir', 'build/apidocs') # clean up previous docs (easy.path(docs_dir) / "epydoc.css").exists() and easy.path(docs_dir).rmtree() # set up includes try: include_names = easy.options.docs.includes except AttributeError: include_names = [] else: include_names = include_names.replace(',', ' ').split() # set up excludes try: exclude_names = easy.options.docs.excludes except AttributeError: exclude_names = [] else: exclude_names = exclude_names.replace(',', ' ').split() excludes = [] for pkg in exclude_names: excludes.append("--exclude") excludes.append('^' + re.escape(pkg)) # call epydoc in-process sys_argv = sys.argv try: sys.argv = [ sys.argv[0] + "::epydoc", "-v", "--inheritance", "listed", "--output", os.path.abspath(docs_dir), "--name", "%s %s" % (easy.options.setup.name, easy.options.setup.version), "--url", easy.options.setup.url, "--graph", "umlclasstree", ] + excludes + support.toplevel_packages() + include_names sys.stderr.write("Running '%s'\n" % ("' '".join(sys.argv))) cli.cli() finally: sys.argv = sys_argv
def run(self): from docutils.core import publish_cmdline from docutils.nodes import raw from docutils.parsers import rst docutils_conf = os.path.join('doc', 'conf', 'docutils.ini') epydoc_conf = os.path.join('doc', 'conf', 'epydoc.ini') try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter def code_block(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): lexer = get_lexer_by_name(arguments[0]) html = highlight('\n'.join(content), lexer, HtmlFormatter()) return [raw('', html, format='html')] code_block.arguments = (1, 0, 0) code_block.options = {'language' : rst.directives.unchanged} code_block.content = 1 rst.directives.register_directive('code-block', code_block) except ImportError: print('Pygments not installed, syntax highlighting disabled') for source in glob('doc/*.txt'): dest = os.path.splitext(source)[0] + '.html' if self.force or not os.path.exists(dest) or \ os.path.getmtime(dest) < os.path.getmtime(source): print('building documentation file %s' % dest) publish_cmdline(writer_name='html', argv=['--config=%s' % docutils_conf, source, dest]) if not self.without_apidocs: try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=%s' % epydoc_conf, '--no-private', # epydoc bug, not read from config '--simple-term', '--verbose' ] cli.cli() sys.argv[1:] = old_argv except ImportError: print('epydoc not installed, skipping API documentation.')
def run(self): epydoc_conf = 'doc/epydoc.conf' try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=%s' % epydoc_conf, '--no-private', '--simple-term', '--verbose' ] cli.cli() sys.argv[1:] = old_argv except ImportError: print('epydoc not installed, skipping API documentation')
def run(self): from docutils.core import publish_cmdline from docutils.nodes import raw from docutils.parsers import rst docutils_conf = os.path.join("doc", "conf", "docutils.ini") epydoc_conf = os.path.join("doc", "conf", "epydoc.ini") try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter def code_block(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): lexer = get_lexer_by_name(arguments[0]) html = highlight("\n".join(content), lexer, HtmlFormatter()) return [raw("", html, format="html")] code_block.arguments = (1, 0, 0) code_block.options = {"language": rst.directives.unchanged} code_block.content = 1 rst.directives.register_directive("code-block", code_block) except ImportError: print "Pygments not installed, syntax highlighting disabled" for source in glob("doc/*.txt"): dest = os.path.splitext(source)[0] + ".html" if self.force or not os.path.exists(dest) or os.path.getmtime(dest) < os.path.getmtime(source): print "building documentation file %s" % dest publish_cmdline(writer_name="html", argv=["--config=%s" % docutils_conf, source, dest]) if not self.without_apidocs: try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ "--config=%s" % epydoc_conf, "--no-private", # epydoc bug, not read from config "--simple-term", "--verbose", ] cli.cli() sys.argv[1:] = old_argv except ImportError: print "epydoc not installed, skipping API documentation."
def generate(self, product, **properties): """""" sys.argv = [] modules = [] sys.argv.append('xxx') sys.argv.append('--no-private') sys.argv.append('--noframes') sys.argv.append('--target='+DOCUMENTATION_PATH+product) for k in properties.keys(): sys.argv.append('--'+k+'='+properties[k]) modules = self.getProductModules(PRODUCTS_HOME+product) for m in modules: sys.argv.append(m) cli() self.write_content_file_types(DOCUMENTATION_PATH+product) self.createDocumentationDirectoryViews(product)
def main(): """ Función principal del script. """ # Generate the documentation of the package using Epydoc. cli.write_latex = write_latex sys.argv = EPYDOC_CMD cli.cli() # Generate the PDF document. os.chdir(OUTPUT_DIR) for i in xrange(3): subprocess.call(LATEX_CMD) # Cleanup and move the PDF to the docs directory. pdf_file = os.path.join(DOCS_DIR, 'api.pdf') if os.path.isfile(pdf_file): os.remove(pdf_file) shutil.move(os.path.join(OUTPUT_DIR, 'api.pdf'), DOCS_DIR) shutil.rmtree(OUTPUT_DIR)
def epydocs(): """Create documentation.""" from epydoc import cli path('build').exists() or path('build').makedirs() # get package list, without sub-packages doc_packages = set(options.setup.packages) for pkg in list(doc_packages): doc_packages -= set(p for p in doc_packages if str(p).startswith(pkg + '.')) doc_packages = list(doc_packages) # get storage path docs_dir = options.epydocs.get('docs_dir', 'build/apidocs') # set up excludes try: exclude_names = options.epydocs.excludes except AttributeError: exclude_names = [] else: exclude_names = exclude_names.replace(',', ' ').split() excludes = [] for pkg in exclude_names: excludes.append("--exclude") excludes.append('^' + re.escape(pkg)) # call epydoc in-process sys_argv = sys.argv try: sys.argv = [ sys.argv[0] + "::epydoc", "-v", "--inheritance", "listed", "--output", docs_dir, "--name", "%s %s" % (options.setup.name, options.setup.version), "--url", options.setup.url, "--graph", "umlclasstree", ] + excludes + doc_packages sys.stderr.write("Running '%s'\n" % ("' '".join(sys.argv))) cli.cli() finally: sys.argv = sys_argv
def run(self): # ensure that everything that's needed is built self.run_command('build') outdir = os.path.join(self.output_dir, self.format) try: os.makedirs(outdir) except OSError: pass # build the argument string cmdline = [] cmdline.append('--' + self.format) cmdline.append('-o') cmdline.append(outdir) if self.verbose: cmdline.append('-v') if self.config is not None: cmdline.append('--config') cmdline.append(self.config) base = self.get_finalized_command('build_py') names = [] if self.names is None or len(self.names) == 0: for package, _, _ in base.find_all_modules(): pdir = base.get_package_dir(package) names.append(pdir) cmdline = cmdline + list(set(names)) else: cmdline = cmdline + self.names import copy import epydoc.cli as ep argv = copy.copy(sys.argv) try: sys.argv = cmdline ep.cli() finally: sys.argv = argv
def run(self): try: from epydoc import cli epydoc_config = os.path.join('doc', 'epydoc.conf') old_argv = sys.argv[1:] try: sys.argv[1:] = ['--config=%s' % epydoc_config] if self.pdf: sys.argv.append('--pdf') sys.argv.append('--output=doc/pdf/') else: sys.argv.append('--html') sys.argv.append('--output=doc/html/') cli.cli() finally: sys.argv[1:] = old_argv print 'zipping the documentation' import zipfile if self.pdf: doctype = 'pdf' else: doctype = 'html' name = 'Skype4Py-%s-%sdoc' % (VERSION, doctype) z = zipfile.ZipFile(os.path.join('doc', '%s.zip' % name), 'w', zipfile.ZIP_DEFLATED) path = os.path.join('doc', doctype) if self.pdf: z.write(os.path.join(path, 'api.pdf'), '%s.pdf' % name) else: for f in os.listdir(path): z.write(os.path.join(path, f), os.path.join(name, f)) z.close() except ImportError: print >> sys.stderr, 'epydoc not installed, skipping build_doc.'
def run(self): try: from epydoc import cli epydoc_config = os.path.join("doc", "epydoc.conf") old_argv = sys.argv[1:] try: sys.argv[1:] = ["--config=%s" % epydoc_config] if self.pdf: sys.argv.append("--pdf") sys.argv.append("--output=doc/pdf/") else: sys.argv.append("--html") sys.argv.append("--output=doc/html/") cli.cli() finally: sys.argv[1:] = old_argv print "zipping the documentation" import zipfile if self.pdf: doctype = "pdf" else: doctype = "html" name = "Skype4Py-%s-%sdoc" % (__version__, doctype) z = zipfile.ZipFile(os.path.join("doc", "%s.zip" % name), "w", zipfile.ZIP_DEFLATED) path = os.path.join("doc", doctype) if self.pdf: z.write(os.path.join(path, "api.pdf"), "%s.pdf" % name) else: for f in os.listdir(path): z.write(os.path.join(path, f), os.path.join(name, f)) z.close() except ImportError: print >> sys.stderr, "epydoc not installed, skipping build_doc."
def run(self): try: from epydoc import cli epydoc_config = os.path.join('doc', 'epydoc.conf') old_argv = sys.argv[1:] try: sys.argv[1:] = ['--config=%s' % epydoc_config] if self.pdf: sys.argv.append('--pdf') sys.argv.append('--output=doc/pdf/') else: sys.argv.append('--html') sys.argv.append('--output=doc/html/') cli.cli() finally: sys.argv[1:] = old_argv print 'zipping the documentation' import zipfile if self.pdf: doctype = 'pdf' else: doctype = 'html' name = 'Skype4Py-%s-%sdoc' % (__version__, doctype) z = zipfile.ZipFile(os.path.join('doc', '%s.zip' % name), 'w', zipfile.ZIP_DEFLATED) path = os.path.join('doc', doctype) if self.pdf: z.write(os.path.join(path, 'api.pdf'), '%s.pdf' % name) else: for f in os.listdir(path): z.write(os.path.join(path, f), os.path.join(name, f)) z.close() except ImportError: print >>sys.stderr, 'epydoc not installed, skipping build_doc.'
def run(self): try: epydoc_conf = os.path.join('doc', 'config.epy') from epydoc import cli # Move __init__.py to init.py before making documentation true_init = "__init__.py" temp_init = "init.py" # Take out __init__.pyc file since this causes build problems try: os.remove(true_init + "c") except OSError: # File is not found, do nothing pass os.rename(true_init, temp_init) old_argv = sys.argv[1:] cli_call = [ "--config=%s" % epydoc_conf, "--verbose" ] if self.no_sourcecode: cli_call.append("--no-sourcecode") else: cli_call.append("--show-sourcecode") sys.argv[1:] = cli_call cli.cli() sys.argv[1:] = old_argv os.rename(temp_init, true_init) except ImportError: print "Epydoc is needed to create API documentation. Skipping.."
def run(argv=sys.argv): argv_old = sys.argv sys.argv = argv cli() sys.argv = argv_old
TXT_FILE = 'izca.txt' SCRIPT_FILE = 'izca.py' import sys import doctest txt = file(TXT_FILE) script = doctest.script_from_examples(txt.read()) script_file = file(SCRIPT_FILE, 'w') script_file.write(script) script_file.close() try: from epydoc import cli except ImportError: print "=================================" print "I can't find epydoc, it is required for %s" % sys.argv[0] print "You need to install epydoc to use this script" print "$ easy_install epydoc" print "should do it" sys.exit() sys.argv.append(SCRIPT_FILE) cli.cli() print "=================================" print "Point your browser at html/index.html" print "to see documentation for the code in %s" % TXT_FILE
from epydoc import cli cli.cli()
def main(package_name, ignore_lst): lst = GetPackageModuleList(package_name, ignore_lst) ArgV = ['--debug'] + lst cli.cli(ArgV)
def run(self): from docutils.core import publish_cmdline from docutils.nodes import raw from docutils.parsers import rst from genshi.input import HTMLParser from genshi.template import TemplateLoader docutils_conf = os.path.join(TOOLS_DIR, 'conf', 'docutils.ini') epydoc_conf = os.path.join(TOOLS_DIR, 'conf', 'epydoc.ini') try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter def code_block(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): lexer = get_lexer_by_name(arguments[0]) html = highlight('\n'.join(content), lexer, HtmlFormatter()) return [raw('', html, format='html')] code_block.arguments = (1, 0, 0) code_block.options = {'language': rst.directives.unchanged} code_block.content = 1 rst.directives.register_directive('code-block', code_block) except ImportError: print 'Pygments not installed, syntax highlighting disabled' loader = TemplateLoader(['doc', 'doc/common'], variable_lookup='strict') for source in glob('doc/*.txt'): dest = os.path.splitext(source)[0] + '.html' if self.force or not os.path.exists(dest) or \ os.path.getmtime(dest) < os.path.getmtime(source): print 'building documentation file %s' % dest publish_cmdline( writer_name='html', argv=['--config=%s' % docutils_conf, source, dest]) fileobj = open(dest) try: html = HTMLParser(fileobj) template = loader.load('template.html') output = template.generate( html=html, project=self.distribution).render('html') finally: fileobj.close() fileobj = open(dest, 'w') try: fileobj.write(output) finally: fileobj.close() if not self.without_apidocs: try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=%s' % epydoc_conf, '--top=%s' % self.distribution.packages[0], '--no-private', # epydoc bug, not read from config '--simple-term', '--verbose' ] + self.distribution.packages cli.cli() sys.argv[1:] = old_argv except ImportError: print 'epydoc not installed, skipping API documentation.'
#!/usr/local/bin/python # # Call the command line interface for Epydoc. # # We have to do some path magic to prevent Python from getting # confused about the difference between this epydoc module, and the # real epydoc package. So sys.path[0], which contains the directory # of the script. import sys, os.path script_path = os.path.abspath(sys.path[0]) sys.path = [p for p in sys.path if os.path.abspath(p) != script_path] from epydoc.cli import cli cli()
# subclasses, so we need to force Left-to-Right mode. # from epydoc.docwriter.html import HTMLWriter # HTMLWriter_render_graph = HTMLWriter.render_graph # def render_graph_LR(self, graph): # if graph: # graph.body += 'rankdir=LR\n' # return HTMLWriter_render_graph(self, graph) # HTMLWriter.render_graph = render_graph_LR # Well, LR mode doesn't really look better... # the ASCII-art version seems better in most cases. # Workaround "visiting unknown node type" error due to `.. note ::` # This was due to the lack of Admonitions transforms. Add it. from epydoc.markup.restructuredtext import _DocumentPseudoWriter from docutils.transforms import writer_aux orig_get_transforms = _DocumentPseudoWriter.get_transforms def pseudo_get_transforms(self): return orig_get_transforms(self) + [writer_aux.Admonitions] _DocumentPseudoWriter.get_transforms = pseudo_get_transforms # Run epydoc cli()
def run(self): from docutils.core import publish_cmdline from docutils.nodes import raw from docutils.parsers import rst from genshi.input import HTMLParser from genshi.template import TemplateLoader docutils_conf = os.path.join(TOOLS_DIR, 'conf', 'docutils.ini') epydoc_conf = os.path.join(TOOLS_DIR, 'conf', 'epydoc.ini') try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter def code_block(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): lexer = get_lexer_by_name(arguments[0]) html = highlight('\n'.join(content), lexer, HtmlFormatter()) return [raw('', html, format='html')] code_block.arguments = (1, 0, 0) code_block.options = {'language' : rst.directives.unchanged} code_block.content = 1 rst.directives.register_directive('code-block', code_block) except ImportError: print 'Pygments not installed, syntax highlighting disabled' loader = TemplateLoader(['doc', 'doc/common'], variable_lookup='strict') for source in glob('doc/*.txt'): dest = os.path.splitext(source)[0] + '.html' if self.force or not os.path.exists(dest) or \ os.path.getmtime(dest) < os.path.getmtime(source): print 'building documentation file %s' % dest publish_cmdline(writer_name='html', argv=['--config=%s' % docutils_conf, source, dest]) fileobj = open(dest) try: html = HTMLParser(fileobj) template = loader.load('template.html') output = template.generate( html=html, project=self.distribution ).render('html') finally: fileobj.close() fileobj = open(dest, 'w') try: fileobj.write(output) finally: fileobj.close() if not self.without_apidocs: try: from epydoc import cli old_argv = sys.argv[1:] sys.argv[1:] = [ '--config=%s' % epydoc_conf, '--top=%s' % self.distribution.packages[0], '--no-private', # epydoc bug, not read from config '--simple-term', '--verbose' ] + self.distribution.packages cli.cli() sys.argv[1:] = old_argv except ImportError: print 'epydoc not installed, skipping API documentation.'