#!/usr/bin/env python3 """ Post-processes HTML and Latex files output by Sphinx. """ import io def main(): import argparse parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('mode', help='file mode', choices=('html', 'tex')) parser.add_argument('file', nargs='+', help='input file(s)') args = parser.parse_args() mode = args.mode for fn in args.file: with io.open(fn, 'r', encoding="utf-8") as f: if mode == 'html': lines = process_html(fn, f.readlines()) elif mode == 'tex': lines = process_tex(f.readlines()) with io.open(fn, 'w', encoding="utf-8") as f: f.write("".join(lines)) def process_html(fn, lines): return lines def process_tex(lines): """ Remove unnecessary section titles from the LaTeX file. """ new_lines = [] for line in lines: if (line.startswith(r'\section{numpy.') or line.startswith(r'\subsection{numpy.') or line.startswith(r'\subsubsection{numpy.') or line.startswith(r'\paragraph{numpy.') or line.startswith(r'\subparagraph{numpy.') ): pass # skip! else: new_lines.append(line) return new_lines if __name__ == "__main__": main()