From a80a74b586bc12c0284cca1508539a41c58c9d1f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 18 Jun 2016 13:06:14 -0700 Subject: [PATCH] Add camera timeouts --- homeassistant/components/camera/foscam.py | 2 +- homeassistant/components/camera/generic.py | 5 +++-- homeassistant/components/camera/netatmo.py | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/camera/foscam.py b/homeassistant/components/camera/foscam.py index f8ba7dfe27d..95a6460b814 100644 --- a/homeassistant/components/camera/foscam.py +++ b/homeassistant/components/camera/foscam.py @@ -49,7 +49,7 @@ class FoscamCamera(Camera): def camera_image(self): """Return a still image reponse from the camera.""" # Send the request to snap a picture and return raw jpg data - response = requests.get(self._snap_picture_url) + response = requests.get(self._snap_picture_url, timeout=10) return response.content diff --git a/homeassistant/components/camera/generic.py b/homeassistant/components/camera/generic.py index bad0e3af6d9..91f44a2a230 100644 --- a/homeassistant/components/camera/generic.py +++ b/homeassistant/components/camera/generic.py @@ -43,13 +43,14 @@ class GenericCamera(Camera): try: response = requests.get( self._still_image_url, - auth=HTTPBasicAuth(self._username, self._password)) + auth=HTTPBasicAuth(self._username, self._password), + timeout=10) except requests.exceptions.RequestException as error: _LOGGER.error('Error getting camera image: %s', error) return None else: try: - response = requests.get(self._still_image_url) + response = requests.get(self._still_image_url, timeout=10) except requests.exceptions.RequestException as error: _LOGGER.error('Error getting camera image: %s', error) return None diff --git a/homeassistant/components/camera/netatmo.py b/homeassistant/components/camera/netatmo.py index 8e03dc932e9..752a28f1bbc 100644 --- a/homeassistant/components/camera/netatmo.py +++ b/homeassistant/components/camera/netatmo.py @@ -57,10 +57,10 @@ class WelcomeCamera(Camera): try: if self._localurl: response = requests.get('{0}/live/snapshot_720.jpg'.format( - self._localurl)) + self._localurl), timeout=10) else: response = requests.get('{0}/live/snapshot_720.jpg'.format( - self._vpnurl)) + self._vpnurl), timeout=10) except requests.exceptions.RequestException as error: _LOGGER.error('Welcome VPN url changed: %s', error) self._data.update()