process(): New function that contains the "orchestration" of the
actual work.
main(): Just handle the command line and filename determination,
calling process() to do the work.
These changes make this more import-friendly.
diff --git a/Doc/tools/toc2bkm.py b/Doc/tools/toc2bkm.py
index ca7064b..c2edea3 100755
--- a/Doc/tools/toc2bkm.py
+++ b/Doc/tools/toc2bkm.py
@@ -120,6 +120,11 @@
write_toc_entry(entry, fp, layer + 1)
+def process(ifn, ofn, bigpart=None):
+ toc = parse_toc(open(ifn), bigpart)
+ write_toc(toc, open(ofn, "w"))
+
+
def main():
bigpart = None
opts, args = getopt.getopt(sys.argv[1:], "c:")
@@ -131,8 +136,7 @@
for filename in args:
base, ext = os.path.splitext(filename)
ext = ext or ".toc"
- toc = parse_toc(open(base + ext), bigpart)
- write_toc(toc, open(base + ".bkm", "w"))
+ process(base + ext, base + ".bkm", bigpart)
if __name__ == "__main__":