From: Plom Heller Date: Thu, 9 Apr 2026 16:39:33 +0000 (+0200) Subject: Minor code simplifications. X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/%7B%7Bdb.prefix%7D%7D/%22https:/validator.w3.org/condition_titles?a=commitdiff_plain;p=bookmaker Minor code simplifications. --- diff --git a/bookmaker.py b/bookmaker.py index 9da85aa..fce2175 100755 --- a/bookmaker.py +++ b/bookmaker.py @@ -46,8 +46,6 @@ A4_HEIGHT = 29.7 * POINTS_PER_CM A4 = (A4_WIDTH, A4_HEIGHT) # constants specifically for --nup4 -A4_HALF_WIDTH = A4_WIDTH / 2 -A4_HALF_HEIGHT = A4_HEIGHT / 2 CUT_DEPTH = 1.95 * POINTS_PER_CM CUT_WIDTH = 1.05 * POINTS_PER_CM MIDDLE_POINT_DEPTH = 0.4 * POINTS_PER_CM @@ -204,7 +202,7 @@ class Nup4Geometry: self.shrink_for_margin = (A4_WIDTH - 2 * self.margin)/A4_WIDTH # NB: We define spine size un-shrunk, but .shrink_for_spine is used # with values shrunk for the margin, which we undo here. - spine_part_of_page = ((INNER_SPINE_MARGIN_PER_PAGE / A4_HALF_WIDTH) + spine_part_of_page = ((INNER_SPINE_MARGIN_PER_PAGE / A4_WIDTH/2) / self.shrink_for_margin) self.shrink_for_spine = 1 - spine_part_of_page @@ -452,7 +450,7 @@ def validate_ranges( def rotate_pages( - args_rotate_page: list[int], + args_rotate_page: Optional[list[int]], pages: list[Page] ) -> None: 'For pages page numbered in args_rotate_page, rotate by 90°.' @@ -631,18 +629,18 @@ def nup4_outer_page_transform( page.translate(ty=(1 - nup4_geometry.shrink_for_spine) * A4_HEIGHT) if nup4_i in {0, 1}: y_section = A4_HEIGHT - page.set_box(bottom=A4_HALF_HEIGHT, top=A4_HEIGHT) + page.set_box(bottom=A4_HEIGHT/2, top=A4_HEIGHT) else: # nup4_in in {2, 3} y_section = 0 - page.set_box(bottom=0, top=A4_HALF_HEIGHT) + page.set_box(bottom=0, top=A4_HEIGHT/2) x_section: float if nup4_i in {0, 2}: x_section = 0 - page.set_box(left=0, right=A4_HALF_WIDTH) + page.set_box(left=0, right=A4_WIDTH/2) else: # nup4_in in {1, 3} page.translate(tx=(1 - nup4_geometry.shrink_for_spine) * A4_WIDTH) x_section = A4_WIDTH - page.set_box(left=A4_HALF_WIDTH, right=A4_WIDTH) + page.set_box(left=A4_WIDTH/2, right=A4_WIDTH) page.translate(tx=x_section, ty=y_section) page.scale(QUARTER_SCALE_FACTOR) @@ -660,10 +658,10 @@ def ornate_nup4( c = Canvas(packet, pagesize=A4) c.setLineWidth(0.1) c.line(0, A4_HEIGHT, A4_WIDTH, A4_HEIGHT) - c.line(0, A4_HALF_HEIGHT, A4_WIDTH, A4_HALF_HEIGHT) + c.line(0, A4_HEIGHT/2, A4_WIDTH, A4_HEIGHT/2) c.line(0, 0, A4_WIDTH, 0) c.line(0, A4_HEIGHT, 0, 0) - c.line(A4_HALF_WIDTH, A4_HEIGHT, A4_HALF_WIDTH, 0) + c.line(A4_WIDTH/2, A4_HEIGHT, A4_WIDTH/2, 0) c.line(A4_WIDTH, A4_HEIGHT, A4_WIDTH, 0) c.save() new_pdf = PdfReader(packet) @@ -674,7 +672,7 @@ def ornate_nup4( new_page.translate(tx=printable_offset_x, ty=printable_offset_y) if not (args_analyze or is_front_page): return - x_left_spine_limit = A4_HALF_WIDTH * nup4_geometry.shrink_for_spine + x_left_spine_limit = A4_WIDTH/2 * nup4_geometry.shrink_for_spine x_right_spine_limit = A4_WIDTH - x_left_spine_limit packet = BytesIO() c = Canvas(packet, pagesize=A4) @@ -701,11 +699,11 @@ def draw_cut( directed_half_width = 0.5 * CUT_WIDTH * direction outer_start_x = x_spine_limit - directed_half_width inner_start_x = x_spine_limit + directed_half_width - middle_point_y = A4_HALF_HEIGHT + MIDDLE_POINT_DEPTH * direction - end_point_y = A4_HALF_HEIGHT + CUT_DEPTH * direction - canvas.line(inner_start_x, A4_HALF_HEIGHT, x_spine_limit, end_point_y) + middle_point_y = A4_HEIGHT/2 + MIDDLE_POINT_DEPTH * direction + end_point_y = A4_HEIGHT/2 + CUT_DEPTH * direction + canvas.line(inner_start_x, A4_HEIGHT/2, x_spine_limit, end_point_y) canvas.line(x_spine_limit, end_point_y, x_spine_limit, middle_point_y) - canvas.line(x_spine_limit, middle_point_y, outer_start_x, A4_HALF_HEIGHT) + canvas.line(x_spine_limit, middle_point_y, outer_start_x, A4_HEIGHT/2) def main(