- if args.crops:
- for c_string in args.crops:
- initial_split = c_string.split(':')
- if len(initial_split) > 2:
- raise ArgFail('c',
- f'cropping string has multiple ":": {c_string}')
- page_range, crops_str = split_crops_string(c_string)
- crops = crops_str.split(',')
- if page_range:
- validate_page_range(page_range, 'c')
- if len(crops) != 4:
- raise ArgFail(
- 'c',
- f'cropping does not contain exactly three ",": {c_string}')
- for crop in crops:
+ if args.crops:
+ arg_char = 'c'
+ for c_string in args.crops:
+ initial_split = c_string.split(':')
+ if len(initial_split) > 2:
+ raise MsgFail(
+ f'cropping string has multiple ":": {c_string}')
+ page_range, crops_str = split_crops_string(c_string)
+ crops = crops_str.split(',')
+ if page_range:
+ validate_page_range(page_range)
+ if len(crops) != 4:
+ raise MsgFail('cropping does not contain exactly three '
+ f'",": {c_string}')
+ for crop in crops:
+ try:
+ float(crop)
+ except ValueError as e:
+ raise MsgFail(f'non-number crop in: {c_string}') from e
+ if args.rotate_page:
+ arg_char = 'r'
+ for r in args.rotate_page: