##// END OF EJS Templates
don't automatically add jobarray or queue lines to user template...
don't automatically add jobarray or queue lines to user template In parallel launchers, the queue and jobarray lines should not be added except in the default templates. user-templates must be fully specified. This prevents conflicts between PBS versions, which may not support jobarrays, etc. These lines are now only added to the *default* templates.

File last commit:

r3898:54f4afc3
r4183:965bc088
Show More
do_sphinx.py
78 lines | 2.2 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
"""Script to build documentation using Sphinx.
"""
import fileinput,os,sys
def oscmd(c):
os.system(c)
# html manual.
oscmd('sphinx-build -d build/doctrees source build/html')
if sys.platform != 'win32':
# LaTeX format.
oscmd('sphinx-build -b latex -d build/doctrees source build/latex')
# Produce pdf.
topdir = os.getcwd()
os.chdir('build/latex')
# Change chapter style to section style: allows chapters to start on
# the current page. Works much better for the short chapters we have.
# This must go in the class file rather than the preamble, so we modify
# manual.cls at runtime.
chapter_cmds=r'''
% Local changes.
\renewcommand\chapter{
\thispagestyle{plain}
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter
}
\def\@makechapterhead#1{
\vspace*{10\p@}
{\raggedright \reset@font \Huge \bfseries \thechapter \quad #1}
\par\nobreak
\hrulefill
\par\nobreak
\vspace*{10\p@}
}
\def\@makeschapterhead#1{
\vspace*{10\p@}
{\raggedright \reset@font \Huge \bfseries #1}
\par\nobreak
\hrulefill
\par\nobreak
\vspace*{10\p@}
}
'''
# manual.cls in Sphinx <= 0.6.7 became sphinxmanual.cls for 1.x
manualcls = 'sphinxmanual.cls'
if not os.path.exists(manualcls):
manualcls = 'manual.cls'
unmodified=True
for line in fileinput.FileInput(manualcls, inplace=True):
if 'Support for module synopsis' in line and unmodified:
line=chapter_cmds+line
elif 'makechapterhead' in line:
# Already have altered manual.cls: don't need to again.
unmodified=False
print line,
# Copying the makefile produced by sphinx...
oscmd('pdflatex ipython.tex')
oscmd('pdflatex ipython.tex')
oscmd('pdflatex ipython.tex')
oscmd('makeindex -s python.ist ipython.idx')
oscmd('makeindex -s python.ist modipython.idx')
oscmd('pdflatex ipython.tex')
oscmd('pdflatex ipython.tex')
# Create a manual/ directory with final html/pdf output
os.chdir(topdir)
oscmd('rm -rf manual')
oscmd('mkdir manual')
oscmd('cp -r build/html/*.html build/html/_static manual/')
oscmd('cp build/latex/ipython.pdf manual/')