summaryrefslogtreecommitdiffstats
path: root/Doc/tools
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/tools')
-rwxr-xr-xDoc/tools/indfix.py47
1 files changed, 28 insertions, 19 deletions
diff --git a/Doc/tools/indfix.py b/Doc/tools/indfix.py
index 395f095..fbf81e6 100755
--- a/Doc/tools/indfix.py
+++ b/Doc/tools/indfix.py
@@ -43,25 +43,20 @@ def dump_entries(write, entries):
breakable_re = re.compile(
r" \\item (.*) [(](.*)[)]((?:(?:, \d+)|(?:, \\[a-z]*\{\d+\}))+)")
-def main():
- import getopt
- outfile = None
- opts, args = getopt.getopt(sys.argv[1:], "o:")
- for opt, val in opts:
- if opt in ("-o", "--output"):
- outfile = val
- filename = args[0]
- outfile = outfile or filename
- if filename == "-":
- fp = sys.stdin
+
+def process(ifn, ofn=None):
+ if ifn == "-":
+ ifp = sys.stdin
else:
- fp = open(filename)
+ ifp = open(ifn)
+ if ofn is None:
+ ofn = ifn
ofp = StringIO.StringIO()
entries = []
match = breakable_re.match
write = ofp.write
while 1:
- line = fp.readline()
+ line = ifp.readline()
if not line:
break
m = match(line)
@@ -79,13 +74,27 @@ def main():
write(line)
del write
del match
- fp.close()
- if outfile == "-":
- fp = sys.stdout
+ ifp.close()
+ data = ofp.getvalue()
+ ofp.close()
+ if ofn == "-":
+ ofp = sys.stdout
else:
- fp = open(outfile, "w")
- fp.write(ofp.getvalue())
- fp.close()
+ ofp = open(ofn, "w")
+ ofp.write(data)
+ ofp.close()
+
+
+def main():
+ import getopt
+ outfile = None
+ opts, args = getopt.getopt(sys.argv[1:], "o:")
+ for opt, val in opts:
+ if opt in ("-o", "--output"):
+ outfile = val
+ filename = args[0]
+ outfile = outfile or filename
+ process(filename, outfile)
if __name__ == "__main__":