Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
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
Exemplo n.º 7
0
    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'
Exemplo n.º 8
0
Arquivo: gendocs.py Projeto: Afey/pyjs
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()
Exemplo n.º 9
0
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()
Exemplo n.º 10
0
    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.')
Exemplo n.º 11
0
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
Exemplo n.º 12
0
    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.')
Exemplo n.º 13
0
    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')
Exemplo n.º 14
0
    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."
Exemplo n.º 15
0
    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)
Exemplo n.º 16
0
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)
Exemplo n.º 17
0
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)
Exemplo n.º 18
0
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
Exemplo n.º 19
0
    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
Exemplo n.º 20
0
    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
Exemplo n.º 21
0
    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.'
Exemplo n.º 22
0
    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."
Exemplo n.º 23
0
    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.'
Exemplo n.º 24
0
    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.."
Exemplo n.º 25
0
def run(argv=sys.argv):
    argv_old = sys.argv
    sys.argv = argv
    cli()
    sys.argv = argv_old
Exemplo n.º 26
0
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
Exemplo n.º 27
0
from epydoc import cli
cli.cli()
Exemplo n.º 28
0
def main(package_name, ignore_lst):
    lst = GetPackageModuleList(package_name, ignore_lst)

    ArgV = ['--debug'] + lst
    cli.cli(ArgV)
Exemplo n.º 29
0
    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.'
Exemplo n.º 30
0
def run(argv=sys.argv):
    argv_old = sys.argv
    sys.argv = argv
    cli()
    sys.argv = argv_old
Exemplo n.º 31
0
#!/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()

Exemplo n.º 32
0
# 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()
Exemplo n.º 33
0
    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.'