def generate_api_doc(self):
        """
        This generates API doc in HTML format and include this into distribution.
        """
        # Create a TMP folder where to store generated RST files.
        temp_folder = tempfile.mktemp(prefix='tvb_sphinx_rst_')

        try:
            os.makedirs(temp_folder)
            opts = GenOptions(None, 'rst', temp_folder, 'Project', 10, True, None)        

            import tvb
            # Start to create RST files needed for Sphinx to generate final HTML
            process_sources(opts, tvb.__path__, self.EXCLUDES)

            # Now generate HTML doc
            conf_folder = os.path.dirname(tvb_documentor.api_doc.generate_modules.__file__)
            args = ['anything',  # Ignored but must be there
                    '-b', 'html',  # Specify builder: html, dirhtml, singlehtml, txt, latex, pdf,
                    '-a',  # Use option "-a" : build all
                    '-q',  # Log only Warn and Error
                    '-c', conf_folder,  # Specify path where to find conf.py
                    '-d', temp_folder,
                    temp_folder,  # Source folder
                    self._dist_api_folder,  # Output folder
                    ]

            # This include should stay here, otherwise generation of PDFs will crash
            from sphinx.cmdline import main as sphinx_build

            sphinx_build(args)
        finally:
            # Delete temp folder
            if os.path.exists(temp_folder):
                shutil.rmtree(temp_folder)
Beispiel #2
0
def make_rest(core_path, settings, gene_symbols, scandb_results, direct_ints):
    # Directory path to write ReST and HTML files.
    dir_path = settings.outdir

    # Create directory for rst files.
    rst_path = os.path.join(dir_path, "rst")
    html_path = os.path.join(dir_path, "html")
    os.mkdir(rst_path)
    os.mkdir(html_path)

    # Write ReST formatted output.
    index = os.path.join(rst_path, "index.rst")
    with open(index, 'w') as f:
        write_rest_index(f)

    input = os.path.join(rst_path, "input.rst")
    with open(input, 'w') as f:
        write_rest_input(settings, f)

    genes = os.path.join(rst_path, "genes.rst")
    with open(genes, 'w') as f:
        Gene.writeReST(gene_symbols, settings.db_file, settings.terms, f)

    terms = os.path.join(rst_path, "terms.rst")
    with open(terms, 'w') as f:
        write_rest_terms(gene_symbols, f)

    eqtls = os.path.join(rst_path, "eqtls.rst")
    with open(eqtls, 'w') as f:
        write_rest_eqtls(scandb_results, f)

    inters = os.path.join(rst_path, "interactions.rst")
    with open(inters, 'w') as f:
        write_rest_ints(direct_ints, f)

    # Write README file.
    write_readme(os.path.join(dir_path, "README.txt"))

    # Run sphinx build process.
    try:
        from sphinx.cmdline import main as sphinx_build
    except:
        raise Exception("Error: sphinx is not installed.")

    args = [
        core_path, "-Q", "-b", "html", "-c", core_path, rst_path, html_path
    ]

    try:
        sphinx_build(args)

        report_index = os.path.join(html_path, "index.html")
        print "HTML report created: %s." % report_index
    except:
        raise
    def generate_api_doc(self):
        """
        This generates API doc in HTML format and include this into distribution.
        """
        # Create a TMP folder where to store generated RST files.
        temp_folder = tempfile.mktemp(prefix='tvb_sphinx_rst_')

        try:
            os.makedirs(temp_folder)
            opts = GenOptions(None, 'rst', temp_folder, 'Project', 10, True,
                              None)

            import tvb
            # Start to create RST files needed for Sphinx to generate final HTML
            process_sources(opts, tvb.__path__, self.EXCLUDES)

            # Now generate HTML doc
            conf_folder = os.path.dirname(
                tvb_documentor.api_doc.generate_modules.__file__)
            args = [
                'anything',  # Ignored but must be there
                '-b',
                'html',  # Specify builder: html, dirhtml, singlehtml, txt, latex, pdf,
                '-a',  # Use option "-a" : build all
                '-q',  # Log only Warn and Error
                '-c',
                conf_folder,  # Specify path where to find conf.py
                '-d',
                temp_folder,
                temp_folder,  # Source folder
                self._dist_api_folder,  # Output folder
            ]

            # This include should stay here, otherwise generation of PDFs will crash
            from sphinx.cmdline import main as sphinx_build

            sphinx_build(args)
        finally:
            # Delete temp folder
            if os.path.exists(temp_folder):
                shutil.rmtree(temp_folder)
Beispiel #4
0
    def _run_sphinx(self, builder, src_folder, dest_folder, args=None):
        if args is None:
            args = []

        sphinx_args = [
            'anything',  # Ignored but must be there
            '-b',
            builder,  # Specify builder: html, dirhtml, singlehtml, txt, latex, pdf,
            '-a',  # Use option "-a" : build all
            '-q',  # Log only Warn and Error
        ] + args + [src_folder, dest_folder]

        status = sphinx_build(sphinx_args)

        if status != 0:
            raise Exception('sphinx build failure')
Beispiel #5
0
def make_rest(core_path,settings,gene_symbols,scandb_results,direct_ints):
  # Directory path to write ReST and HTML files. 
  dir_path = settings.outdir;
  
  # Create directory for rst files. 
  rst_path = os.path.join(dir_path,"rst");
  html_path = os.path.join(dir_path,"html");
  os.mkdir(rst_path);
  os.mkdir(html_path);
  
  # Write ReST formatted output. 
  index = os.path.join(rst_path,"index.rst");
  with open(index,'w') as f:
    write_rest_index(f);
  
  input = os.path.join(rst_path,"input.rst");
  with open(input,'w') as f:
    write_rest_input(settings,f);

  genes = os.path.join(rst_path,"genes.rst");
  with open(genes,'w') as f:
    Gene.writeReST(gene_symbols,settings.db_file,settings.terms,f);
  
  terms = os.path.join(rst_path,"terms.rst");
  with open(terms,'w') as f:
    write_rest_terms(gene_symbols,f);
  
  eqtls = os.path.join(rst_path,"eqtls.rst");
  with open(eqtls,'w') as f:
    write_rest_eqtls(scandb_results,f);
  
  inters = os.path.join(rst_path,"interactions.rst");
  with open(inters,'w') as f:
    write_rest_ints(direct_ints,f);
  
  # Write README file. 
  write_readme(os.path.join(dir_path,"README.txt"));
  
  # Run sphinx build process. 
  try:
    from sphinx.cmdline import main as sphinx_build
  except:
    raise Exception("Error: sphinx is not installed.");
  
  args = [
    core_path,
    "-Q",
    "-b",
    "html",
    "-c",
    core_path,
    rst_path,
    html_path
  ];
  
  try:
    sphinx_build(args);

    report_index = os.path.join(html_path,"index.html");
    print "HTML report created: %s." % report_index;
  except:
    raise;