1#!/usr/bin/env python3 2""" 3Post-processes HTML and Latex files output by Sphinx. 4""" 5import io 6 7def main(): 8 import argparse 9 10 parser = argparse.ArgumentParser(description=__doc__) 11 parser.add_argument('mode', help='file mode', choices=('html', 'tex')) 12 parser.add_argument('file', nargs='+', help='input file(s)') 13 args = parser.parse_args() 14 15 mode = args.mode 16 17 for fn in args.file: 18 with io.open(fn, 'r', encoding="utf-8") as f: 19 if mode == 'html': 20 lines = process_html(fn, f.readlines()) 21 elif mode == 'tex': 22 lines = process_tex(f.readlines()) 23 24 with io.open(fn, 'w', encoding="utf-8") as f: 25 f.write("".join(lines)) 26 27def process_html(fn, lines): 28 return lines 29 30def process_tex(lines): 31 """ 32 Remove unnecessary section titles from the LaTeX file. 33 34 """ 35 new_lines = [] 36 for line in lines: 37 if (line.startswith(r'\section{numpy.') 38 or line.startswith(r'\subsection{numpy.') 39 or line.startswith(r'\subsubsection{numpy.') 40 or line.startswith(r'\paragraph{numpy.') 41 or line.startswith(r'\subparagraph{numpy.') 42 ): 43 pass # skip! 44 else: 45 new_lines.append(line) 46 return new_lines 47 48if __name__ == "__main__": 49 main() 50