+ raise ValueError("%s: page range string carries values that are neither integer, nor 'start', nor 'end': %s" % (err_msg_prefix, p_string))
+ if int(token) < 1:
+ raise ValueError("%s: page range string may not carry page numbers <1: %s" % (err_msg_prefix, p_string))
+ start = -1
+ end = -1
+ try:
+ start = int(tokens[0])
+ end = int(tokens[1])
+ except:
+ pass
+ if start > 0 and end > 0 and start > end:
+ raise ValueError("%s: page range starts higher than it ends: %s" % (err_msg_prefix, p_string))
+for filename in args.input_file:
+ if not os.path.isfile(filename):
+ raise ValueError("-i: %s is not a file" % filename)
+ try:
+ with open(filename, 'rb') as file:
+ pypdf.PdfReader(file)
+ except pypdf.errors.PdfStreamError:
+ raise ValueError("-i: cannot interpret %s as PDF file" % filename)