From 7c6dcdb082f228a8bb9a4861883cc2f125541496 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 21 Feb 2016 11:23:16 -0800 Subject: [PATCH] Catch an extra error that could break util.convert --- homeassistant/util/__init__.py | 2 +- tests/util/test_init.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/util/__init__.py b/homeassistant/util/__init__.py index 16650fe549d..7a396b44d3b 100644 --- a/homeassistant/util/__init__.py +++ b/homeassistant/util/__init__.py @@ -57,7 +57,7 @@ def convert(value, to_type, default=None): """ Converts value to to_type, returns default if fails. """ try: return default if value is None else to_type(value) - except ValueError: + except (ValueError, TypeError): # If value could not be converted return default diff --git a/tests/util/test_init.py b/tests/util/test_init.py index bd546d4e5e1..1a80d74b065 100644 --- a/tests/util/test_init.py +++ b/tests/util/test_init.py @@ -53,6 +53,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(True, util.convert("True", bool)) self.assertEqual(1, util.convert("NOT A NUMBER", int, 1)) self.assertEqual(1, util.convert(None, int, 1)) + self.assertEqual(1, util.convert(object, int, 1)) def test_ensure_unique_string(self): """ Test ensure_unique_string. """