home · contact · privacy
In Bookmaker, document code and its execution better.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 23 Sep 2023 23:53:20 +0000 (01:53 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 23 Sep 2023 23:53:20 +0000 (01:53 +0200)
bookmaker.py

index 2211b848460d83aabc41f9bd89209e4c2b63be49..64acf6fbbd440b84a3ed7026123352e927935ff4 100755 (executable)
@@ -44,10 +44,12 @@ for i, input_file in enumerate(args.input_file):
     if args.page_range and len(args.page_range) > i:
         range_string = args.page_range[i]
     start_page, end_page = parse_page_range(range_string, reader.pages)
-    for page_num in range(start_page, end_page):
-        page = reader.pages[page_num]
+    new_page_num = 0
+    for old_page_num in range(start_page, end_page):
+        new_page_num += 1
+        page = reader.pages[new_page_num]
         pages_to_add += [page]
-        print("read in %s page number %d" % (input_file, page_num+1))
+        print("-i, -p: read in %s page number %d as new page %d" % (input_file, new_page_num+1, new_page_num))
 
 # rotate page canvas
 if args.rotate:
@@ -56,6 +58,7 @@ if args.rotate:
         page.add_transformation(pypdf.Transformation().translate(tx=-a4_width/2, ty=-a4_height/2))
         page.add_transformation(pypdf.Transformation().rotate(-90))
         page.add_transformation(pypdf.Transformation().translate(tx=a4_width/2, ty=a4_height/2))
+        print("-r: rotating (by 90°) page", rotate)
 
 # normalize all pages to portrait A4
 for page in pages_to_add:
@@ -81,6 +84,7 @@ if args.crop_range:
           crops = initial_split[0]
       start_page, end_page = parse_page_range(page_range, pages_to_add)
       crop_left, crop_bottom, crop_right, crop_top = [float(x) * points_per_cm for x in  crops.split(',')]
+      print("-c: to pages %d to %d applying crops: left %dcm, bottom %dcm, right %dcm, top %dcm" % (start_page + 1, end_page, crop_left, crop_bottom, crop_right, crop_top))
       cropped_width  = a4_width - crop_left - crop_right
       cropped_height = a4_height - crop_bottom - crop_top
       zoom = 1
@@ -266,8 +270,9 @@ else:
             writer.add_page(new_page)
             i = 0
             front_page = not front_page
+
+# write and close
 for file in opened_files:
     file.close()
-
 with open(args.output_file, 'wb') as output_file:
     writer.write(output_file)