mirror of https://github.com/mahmoud/boltons.git
better argument order for remap's exit()
This commit is contained in:
parent
c41a521dd9
commit
6cecb926da
|
@ -617,8 +617,9 @@ def default_enter(path, key, value):
|
|||
return value, False
|
||||
|
||||
|
||||
def default_exit(path, key, old_parent, new_items, new_parent):
|
||||
# print('exit(%r, %r, %r)' % (new_items, new_parent, old_collection))
|
||||
def default_exit(path, key, old_parent, new_parent, new_items):
|
||||
# print('exit(%r, %r, %r, %r, %r)'
|
||||
# % (path, key, old_parent, new_parent, new_items))
|
||||
ret = new_parent
|
||||
if isinstance(new_parent, Mapping):
|
||||
new_parent.update(new_items)
|
||||
|
@ -660,7 +661,7 @@ def remap(root, visit=default_visit, enter=default_enter, exit=default_exit,
|
|||
key, new_parent, old_parent = value
|
||||
id_value = id(old_parent)
|
||||
path, new_items = new_items_stack.pop()
|
||||
value = exit(path, key, old_parent, new_items, new_parent)
|
||||
value = exit(path, key, old_parent, new_parent, new_items)
|
||||
registry[id_value] = value
|
||||
if not new_items_stack:
|
||||
continue
|
||||
|
|
|
@ -157,9 +157,9 @@ class TestRemap(object):
|
|||
assert isinstance(remapped[1]['ratings'], OMD)
|
||||
|
||||
def test_sort_all_lists(self):
|
||||
def exit(path, key, old_parent, new_items, new_parent):
|
||||
def exit(path, key, old_parent, new_parent, new_items):
|
||||
# NB: in this case, I'd normally use *a, **kw
|
||||
ret = default_exit(path, key, old_parent, new_items, new_parent)
|
||||
ret = default_exit(path, key, old_parent, new_parent, new_items)
|
||||
if isinstance(ret, list):
|
||||
ret.sort()
|
||||
return ret
|
||||
|
@ -248,10 +248,10 @@ class TestRemap(object):
|
|||
ref_path = (3, 2, 1)
|
||||
|
||||
# TODO: reverse order of new_items, new_parent
|
||||
def exit(path, key, old_parent, new_items, new_parent):
|
||||
def exit(path, key, old_parent, new_parent, new_items):
|
||||
if old_parent is target_set:
|
||||
path_map['target_set'] = path + (key,)
|
||||
return default_exit(path, key, old_parent, new_items, new_parent)
|
||||
return default_exit(path, key, old_parent, new_parent, new_items)
|
||||
|
||||
remapped = remap(orig, exit=exit)
|
||||
|
||||
|
|
Loading…
Reference in New Issue