diff options
author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2023-08-12 10:22:29 +0200 |
---|---|---|
committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2023-08-12 10:22:29 +0200 |
commit | f46c3bbdd29191654b009c26a28cf99a90484fec (patch) | |
tree | bf25adc92cd04a2d81693004fb87af0bfeb18d29 /a5_book.py | |
parent | 39e31f9231fb7b5493a31c6fa5c7745f4b7fab81 (diff) |
Moved page manipulation scripts into a subdirectory
Diffstat (limited to 'a5_book.py')
-rwxr-xr-x | a5_book.py | 71 |
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() |