summaryrefslogtreecommitdiff
path: root/a5_book.py
diff options
context:
space:
mode:
authorElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2023-08-12 10:22:29 +0200
committerElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2023-08-12 10:22:29 +0200
commitf46c3bbdd29191654b009c26a28cf99a90484fec (patch)
treebf25adc92cd04a2d81693004fb87af0bfeb18d29 /a5_book.py
parent39e31f9231fb7b5493a31c6fa5c7745f4b7fab81 (diff)
Moved page manipulation scripts into a subdirectory
Diffstat (limited to 'a5_book.py')
-rwxr-xr-xa5_book.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/a5_book.py b/a5_book.py
deleted file mode 100755
index 846ca86..0000000
--- a/a5_book.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import os.path
-import subprocess
-
-
-SIGNATURE = (
- 15, 0,
- 1, 14,
- 13, 2,
- 3, 12,
- 11, 4,
- 5, 10,
- 9, 6,
- 7, 8
-)
-
-
-def get_parser():
- parser = argparse.ArgumentParser()
- parser.add_argument(
- "--file", '-f',
- help="Name of the PDF file",
- )
- parser.add_argument(
- "pagespec",
- help="Page selection. At the moment only '<start>-<end>' is supported"
- )
- return parser
-
-
-def main():
- parser = get_parser()
- args = parser.parse_args()
- pspec = args.pagespec.split('-')
- try:
- start = int(pspec[0])
- end = int(pspec[1])
- except ValueError:
- parser.print_usage()
- except IndexError:
- parser.print_usage()
-
- pages = [str(i) for i in range(start, end+1)]
- if len(pages) % 16 != 0:
- empty = 16 - len(pages) % 16
- pages = pages + ["{}"] * empty
-
- rearranged = []
- while pages:
- for i in SIGNATURE:
- rearranged.append(pages[i])
- pages = pages[16:]
-
- base, ext = os.path.splitext(args.file)
- out_fname = base + '-book' + ext
-
- subprocess.run([
- 'pdfjam',
- '--nup', '2x1',
- "--landscape",
- #'--no-tidy',
- '-o', out_fname,
- args.file,
- ','.join(rearranged)
- ])
-
-
-if __name__ == "__main__":
- main()