newpath = os.path.join(tempdir, file_name + ".pdf")
else:
logger.warning(f"Cannot convert from {str(file_extension)} to pdf.")
- return ""
- image = Image.open(filepath)
- images = []
- for i, page in enumerate(ImageSequence.Iterator(image)):
- page = page.convert("RGB")
- images.append(page)
- try:
- if len(images) == 1:
- images[0].save(newpath)
- else:
- images[0].save(newpath, save_all=True, append_images=images[1:])
- except OSError as e:
- logger.warning(
- f"Could not save the file as pdf. Error: {str(e)}",
- )
- return ""
- image.close()
+ return None
+ with Image.open(filepath) as image:
+ images = []
+ for i, page in enumerate(ImageSequence.Iterator(image)):
+ page = page.convert("RGB")
+ images.append(page)
+ try:
+ if len(images) == 1:
+ images[0].save(newpath)
+ else:
+ images[0].save(newpath, save_all=True, append_images=images[1:])
+ except OSError as e:
+ logger.warning(
+ f"Could not save the file as pdf. Error: {str(e)}",
+ )
+ return None
return newpath
f"Unsupported file format for barcode reader: {str(file_extension)}",
)
else:
- if file_extension == ".tif" or file_extension == ".tiff":
- converted_tiff = convert_from_tiff_to_pdf(path)
- if converted_tiff:
- separators = scan_file_for_separating_barcodes(converted_tiff)
+ if file_extension in {".tif", ".tiff"}:
+ file_to_process = convert_from_tiff_to_pdf(path)
else:
- separators = scan_file_for_separating_barcodes(path)
+ file_to_process = path
+
+ separators = scan_file_for_separating_barcodes(file_to_process)
+
if separators:
- if converted_tiff:
- logger.debug(
- f"Pages with separators found in: {str(converted_tiff)}",
- )
- document_list = separate_pages(converted_tiff, separators)
- else:
- logger.debug(
- f"Pages with separators found in: {str(path)}",
- )
- document_list = separate_pages(path, separators)
+ logger.debug(
+ f"Pages with separators found in: {str(path)}",
+ )
+ document_list = separate_pages(file_to_process, separators)
+
if document_list:
for n, document in enumerate(document_list):
# save to consumption dir
# if we got here, the document was successfully split
# and can safely be deleted
if converted_tiff:
- logger.debug("Deleting file {}".format(converted_tiff))
- os.unlink(converted_tiff)
+ logger.debug("Deleting file {}".format(file_to_process))
+ os.unlink(file_to_process)
logger.debug("Deleting file {}".format(path))
os.unlink(path)
# notify the sender, otherwise the progress bar