From 1a7a468eb65fdf2a13b4c7a7723280e822c9c34b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 1 Apr 2014 20:40:55 +0200 Subject: [PATCH] Better error handling for capture issues during timelapsing Should help debugging issue #425 and any future problems in that area. --- src/octoprint/timelapse.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/octoprint/timelapse.py b/src/octoprint/timelapse.py index 2c3b2c82..3a3ad906 100644 --- a/src/octoprint/timelapse.py +++ b/src/octoprint/timelapse.py @@ -236,10 +236,13 @@ class Timelapse(object): return filename def _captureWorker(self, filename): - eventManager().fire(Events.CAPTURE_START, {"file": filename}); - urllib.urlretrieve(self._snapshotUrl, filename) - self._logger.debug("Image %s captured from %s" % (filename, self._snapshotUrl)) - eventManager().fire(Events.CAPTURE_DONE, {"file": filename}); + eventManager().fire(Events.CAPTURE_START, {"file": filename}) + try: + urllib.urlretrieve(self._snapshotUrl, filename) + self._logger.debug("Image %s captured from %s" % (filename, self._snapshotUrl)) + except: + self._logger.exception("Could not capture image %s from %s" % (filename, self._snapshotUrl)) + eventManager().fire(Events.CAPTURE_DONE, {"file": filename}) def _createMovie(self, success=True): ffmpeg = settings().get(["webcam", "ffmpeg"])