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)
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)
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')
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;