Mercurial > cpython-lru_cache-weakref
view Doc/text2latex.py @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | 1691ea5d9d4b |
| children |
line wrap: on
line source
import os import sys import regex import regsub import string import getopt def main(): process(sys.stdin, sys.stdout) dashes = regex.compile('^-+[ \t]*$') equals = regex.compile('^=+[ \t]*$') stars = regex.compile('^\*+[ \t]*$') blank = regex.compile('^[ \t]*$') indented = regex.compile('^\( *\t\| \)[ \t]*[^ \t]') def process(fi, fo): inverbatim = 0 line = '\n' nextline = fi.readline() while nextline: prevline = line line = nextline nextline = fi.readline() fmt = None if dashes.match(nextline) >= 0: fmt = '\\subsection{%s}\n' elif equals.match(nextline) >= 0: fmt = '\\section{%s}\n' elif stars.match(nextline) >= 0: fmt = '\\chapter{%s}\n' if fmt: nextline = '\n' line = fmt % string.strip(line) if '(' in line: line = regsub.gsub('[a-zA-Z0-9_]+()', '{\\\\tt \\0}', line) elif inverbatim: if blank.match(line) >= 0 and \ indented.match(nextline) < 0: inverbatim = 0 fo.write('\\end{verbatim}\n') else: if indented.match(line) >= 0 and \ blank.match(prevline) >= 0: inverbatim = 1 fo.write('\\begin{verbatim}\n') if inverbatim: line = string.expandtabs(line, 4) elif not fmt and '(' in line: line = regsub.gsub('[a-zA-Z0-9_]+()', '\\\\code{\\0}', line) fo.write(line) main()
