self.top = float(self.top_cm) * POINTS_PER_CM
zoom_horizontal = A4_WIDTH / (A4_WIDTH - self.left - self.right)
zoom_vertical = A4_HEIGHT / (A4_HEIGHT - self.bottom - self.top)
- if (zoom_horizontal > 1 and zoom_vertical < 1)\
- or (zoom_horizontal < 1 and zoom_vertical > 1):
+ if zoom_horizontal > 1 > zoom_vertical\
+ or zoom_horizontal < 1 < zoom_vertical:
raise HandledException(
'-c: crops would create opposing zoom directions')
if zoom_horizontal + zoom_vertical > 2:
end = int(tokens[1])
except ValueError:
pass
- if start > 0 and end > 0 and start > end:
+ if start > end > 0:
raise HandledException(
f'{prefix} has higher start than end value: {p_string}')
prefix = '-c, -t' if args_symmetry else '-c'
suffix = (' (but alternating left and right crop '
'between even and odd pages)') if args_symmetry else ''
- page_crop = PageCrop(*[x for x in crops.split(',')])
+ page_crop = PageCrop(*crops.split(','))
print(f'{prefix}: to pages {start_page + 1} to {end_page} '
f'applying crop: {page_crop.format_in_cm}{suffix}')
for page_num in range(start_page, end_page):
def nup4_inner_page_transform(page, crop, nup4_geometry, nup4_i):
page.add_transformation(pypdf.Transformation().translate(
ty=A4_HEIGHT / crop.zoom - (A4_HEIGHT - crop.top)))
- if nup4_i == 0 or nup4_i == 2:
+ if nup4_i in {0, 2}:
page.add_transformation(pypdf.Transformation().translate(
tx=-crop.left))
- elif nup4_i == 1 or nup4_i == 3:
+ elif nup4_i in {1, 3}:
page.add_transformation(pypdf.Transformation().translate(
tx=A4_WIDTH / crop.zoom - (A4_WIDTH - crop.right)))
page.add_transformation(pypdf.Transformation().scale(
crop.zoom * nup4_geometry.shrink_for_spine,
crop.zoom * nup4_geometry.shrink_for_spine))
- if nup4_i == 2 or nup4_i == 3:
+ if nup4_i in {2, 3}:
page.add_transformation(pypdf.Transformation().translate(
ty=-2*nup4_geometry.margin/nup4_geometry.shrink_for_margin))
def nup4_outer_page_transform(page, nup4_geometry, nup4_i):
page.add_transformation(pypdf.Transformation().translate(
ty=(1-nup4_geometry.shrink_for_spine)*A4_HEIGHT))
- if nup4_i == 0 or nup4_i == 1:
+ if nup4_i in {0, 1}:
y_section = A4_HEIGHT
page.mediabox.bottom = A4_HALF_HEIGHT
page.mediabox.top = A4_HEIGHT
- if nup4_i == 2 or nup4_i == 3:
+ if nup4_i in {2, 3}:
y_section = 0
page.mediabox.bottom = 0
page.mediabox.top = A4_HALF_HEIGHT
- if nup4_i == 0 or nup4_i == 2:
+ if nup4_i in {0, 2}:
x_section = 0
page.mediabox.left = 0
page.mediabox.right = A4_HALF_WIDTH
- if nup4_i == 1 or nup4_i == 3:
+ if nup4_i in {1, 3}:
page.add_transformation(pypdf.Transformation().translate(
tx=(1-nup4_geometry.shrink_for_spine)*A4_WIDTH))
x_section = A4_WIDTH