Merge pull request #28 from neutrinoceros/keyerror_explicit
Insightful KeyErrors
This commit is contained in:
commit
4d6c43db28
|
@ -5,5 +5,7 @@ def move(d, key_src, key_dest, overwrite=True):
|
|||
if key_dest == key_src:
|
||||
return
|
||||
if key_dest in d and not overwrite:
|
||||
raise KeyError
|
||||
raise KeyError(
|
||||
"'{}' already in target dict and `overwrite` is disabled.".format(key_dest)
|
||||
)
|
||||
d[key_dest] = d.pop(key_src)
|
||||
|
|
|
@ -36,7 +36,7 @@ class KeylistDict(dict):
|
|||
elif type_util.is_list(parent):
|
||||
del parent[key]
|
||||
return
|
||||
raise KeyError
|
||||
raise KeyError(keys)
|
||||
|
||||
def __getitem__(self, key):
|
||||
if type_util.is_list_or_tuple(key):
|
||||
|
@ -49,7 +49,7 @@ class KeylistDict(dict):
|
|||
return parent[key]
|
||||
elif type_util.is_list(parent):
|
||||
return parent[key]
|
||||
raise KeyError
|
||||
raise KeyError(keys)
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
if type_util.is_list_or_tuple(key):
|
||||
|
|
|
@ -16,7 +16,7 @@ def _get_item_key_and_value(item, key):
|
|||
return (index, item[index], )
|
||||
elif type_util.is_dict(item):
|
||||
return (key, item[key], )
|
||||
raise KeyError
|
||||
raise KeyError(key)
|
||||
|
||||
|
||||
def _get_or_new_item_value(item, key, subkey):
|
||||
|
|
Loading…
Reference in New Issue