From 5fe50066a669581bc0d9a36609b6fe4e7ccc6a23 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 1 Mar 2015 10:28:53 -0800 Subject: [PATCH] Make device component backwards compatible --- homeassistant/helpers/device_component.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/homeassistant/helpers/device_component.py b/homeassistant/helpers/device_component.py index 7ddb7118824..41c10ae90d9 100644 --- a/homeassistant/helpers/device_component.py +++ b/homeassistant/helpers/device_component.py @@ -100,8 +100,16 @@ class DeviceComponent(object): try: platform.setup_platform( self.hass, config, self._add_devices, discovery_info) - except (AttributeError, TypeError): - # AttributeError if setup_platform does not exist - # TypeError if wrong number of argumnets for setup_platform - self.logger.exception( - "Error setting up %s", platform_type) + except AttributeError: + # Support old deprecated method for now - 3/1/2015 + if hasattr(platform, 'get_devices'): + self.logger.warning( + "Please upgrade %s to return new devices using " + "setup_platform. See %s/demo.py for an example.", + platform_name, self.domain) + self._add_devices(platform.get_devices(self.hass, config)) + + else: + # AttributeError if setup_platform does not exist + self.logger.exception( + "Error setting up %s", platform_type)