From 9ab1da34ffc0608a25148b79aa82623863741a3f Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 29 May 2019 09:28:42 +0100 Subject: [PATCH] Handle corrupt captures --- openflexure_microscope/camera/capture.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openflexure_microscope/camera/capture.py b/openflexure_microscope/camera/capture.py index 1fddedfe..bf26fb03 100644 --- a/openflexure_microscope/camera/capture.py +++ b/openflexure_microscope/camera/capture.py @@ -10,6 +10,7 @@ from PIL import Image import atexit from openflexure_microscope.camera import piexif +from openflexure_microscope.camera.piexif._exceptions import InvalidImageDataError """ Attributes: @@ -44,7 +45,10 @@ def pull_usercomment_dict(filepath): Args: filepath: Path to the Exif-containing file """ - exif_dict = piexif.load(filepath) + try: + exif_dict = piexif.load(filepath) + except InvalidImageDataError: + logging.error("Invalid data at {}. Skipping.".format(filepath)) if 'Exif' in exif_dict and 37510 in exif_dict['Exif']: return yaml.load(exif_dict['Exif'][37510].decode()) else: