Refactored
This commit is contained in:
+7
-7
@@ -3,28 +3,28 @@ from copy import deepcopy
|
||||
|
||||
def jay_diff_rev(_old, _new):
|
||||
delta = {}
|
||||
for k in _old.keys():
|
||||
if k in _new:
|
||||
if isinstance(_old[k], dict):
|
||||
for k in _new.keys():
|
||||
if k in _old:
|
||||
if isinstance(_new[k], dict):
|
||||
res = jay_diff_rev(_old[k], _new[k])
|
||||
if len(res.keys()):
|
||||
delta[k] = res
|
||||
else:
|
||||
_new[k] = _old[k]
|
||||
delta[k] = _old[k]
|
||||
_old[k] = _new[k]
|
||||
delta[k] = _new[k]
|
||||
|
||||
return delta
|
||||
|
||||
|
||||
def jay_diff_add(_old, _new):
|
||||
__old = deepcopy(_old)
|
||||
delta = jay_diff_rev(_new, __old)
|
||||
delta = jay_diff_rev(__old, _new)
|
||||
return delta
|
||||
|
||||
|
||||
def jay_diff_del(_old, _new):
|
||||
__new = deepcopy(_new)
|
||||
delta = jay_diff_rev(_old, __new)
|
||||
delta = jay_diff_rev(__new, _old)
|
||||
return delta
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user