From b817c7d0c2e9803779db1573d970695ee9f44940 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 14 Jan 2017 11:53:00 +0100 Subject: [PATCH] Bugfix camera fake image (#5314) * Bugfix camera fake image * add logger --- homeassistant/components/camera/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index 168f821c6c0..2d4e73cd6e4 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -22,6 +22,8 @@ from homeassistant.helpers.entity_component import EntityComponent from homeassistant.helpers.config_validation import PLATFORM_SCHEMA # noqa from homeassistant.components.http import HomeAssistantView, KEY_AUTHENTICATED +_LOGGER = logging.getLogger(__name__) + DOMAIN = 'camera' DEPENDENCIES = ['http'] SCAN_INTERVAL = timedelta(seconds=30) @@ -72,8 +74,7 @@ def async_get_image(hass, entity_id, timeout=10): @asyncio.coroutine def async_setup(hass, config): """Setup the camera component.""" - component = EntityComponent( - logging.getLogger(__name__), DOMAIN, hass, SCAN_INTERVAL) + component = EntityComponent(_LOGGER, DOMAIN, hass, SCAN_INTERVAL) hass.http.register_view(CameraImageView(component.entities)) hass.http.register_view(CameraMjpegStream(component.entities)) @@ -172,8 +173,14 @@ class Camera(Entity): yield from response.drain() yield from asyncio.sleep(.5) + + except asyncio.CancelledError: + _LOGGER.debug("Close stream by browser.") + response = None + finally: - yield from response.write_eof() + if response is not None: + yield from response.write_eof() @property def state(self):