flatten-dict
flatten-dict copied to clipboard
Error message for unflatten with duplicated key is not clear
Original error:
In [4]: unflatten({1: ('a', 'b'), 2: ('a', 'b')}, inverse=True)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-4-9f138cfe18d2> in <module>
----> 1 unflatten({1: ('a', 'b'), 2: ('a', 'b')}, inverse=True)
~/projects/flatten-dict/flatten_dict/flatten_dict.py in unflatten(d, splitter, inverse)
122 flat_key, value = value, flat_key
123 key_tuple = splitter(flat_key)
--> 124 nested_set_dict(unflattened_dict, key_tuple, value)
125
126 return unflattened_dict
~/projects/flatten-dict/flatten_dict/flatten_dict.py in nested_set_dict(d, keys, value)
91 return
92 d = d.setdefault(key, {})
---> 93 nested_set_dict(d, keys[1:], value)
94
95
~/projects/flatten-dict/flatten_dict/flatten_dict.py in nested_set_dict(d, keys, value)
87 if len(keys) == 1:
88 if key in d:
---> 89 raise ValueError("duplicated key '{}'".format(key))
90 d[key] = value
91 return
ValueError: duplicated key 'b'
Expected error:
ValueError: duplicated key ('a', 'b')