From 189c84288120382a5cb1a9a286caa51f2ee7160d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 14 Feb 2017 15:02:33 +0100 Subject: [PATCH] dict_merge should not hiccup on None values --- src/octoprint/util/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/octoprint/util/__init__.py b/src/octoprint/util/__init__.py index a736e35e..0cdb9aa6 100644 --- a/src/octoprint/util/__init__.py +++ b/src/octoprint/util/__init__.py @@ -470,6 +470,12 @@ def dict_merge(a, b): >>> expected = dict(foo="other foo", bar="bar", fnord=dict(a=1, b=2, l=["some", "list"])) >>> dict_merge(a, b) == expected True + >>> dict_merge(a, None) == a + True + >>> dict_merge(None, b) == b + True + >>> dict_merge(None, None) == dict() + True Arguments: a (dict): The dictionary to merge ``b`` into @@ -481,6 +487,11 @@ def dict_merge(a, b): from copy import deepcopy + if a is None: + a = dict() + if b is None: + b = dict() + if not isinstance(b, dict): return b result = deepcopy(a)