[deep_diff]
- use isinstance() instead of type() - make tests harder
This commit is contained in:
+24
-19
@@ -5,7 +5,7 @@ from copy import deepcopy
|
|||||||
def deep_diff(data, temp_data):
|
def deep_diff(data, temp_data):
|
||||||
new_data = {}
|
new_data = {}
|
||||||
for k in data.keys():
|
for k in data.keys():
|
||||||
if type(data[k]) == type({}):
|
if isinstance(data[k], dict):
|
||||||
if k not in temp_data:
|
if k not in temp_data:
|
||||||
temp_data[k] = {}
|
temp_data[k] = {}
|
||||||
temp = deep_diff(data[k], temp_data[k])
|
temp = deep_diff(data[k], temp_data[k])
|
||||||
@@ -35,24 +35,29 @@ def deep_merge(d, u, only_existing=True):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
with open("results/WVWZZZE1ZMP010760/2024/10/18/vehicle_WVWZZZE1ZMP010760_2024-10-15T12-05-23-268Z.json", "r") as fp:
|
files = [
|
||||||
src = json.load(fp)
|
"results/WVWZZZE1ZMP010760/2024/10/18/vehicle_WVWZZZE1ZMP010760_2024-10-15T12-05-23-268Z.json",
|
||||||
src_last = {}
|
# "results/WVWZZZE1ZMP010760/2024/10/19/vehicle_WVWZZZE1ZMP010760_2024-10-19T00-00-34-353Z.json",
|
||||||
diffed_list = []
|
]
|
||||||
last = {}
|
for file in files:
|
||||||
for s in src:
|
with open(file, "r") as fp:
|
||||||
diffed = deep_diff(s, last)
|
src = json.load(fp)
|
||||||
diffed_list.append(deepcopy(diffed))
|
src_last = {}
|
||||||
last = deepcopy(s)
|
diffed_list = []
|
||||||
print(f"Diffed: {diffed}")
|
last = {}
|
||||||
|
for s in src:
|
||||||
|
diffed = deep_diff(s, last)
|
||||||
|
diffed_list.append(deepcopy(diffed))
|
||||||
|
last = deepcopy(s)
|
||||||
|
print(f"Diffed: {diffed}")
|
||||||
|
|
||||||
merged_list = []
|
merged_list = []
|
||||||
last = {}
|
last = {}
|
||||||
for d in diffed_list:
|
for d in diffed_list:
|
||||||
merged = deep_merge(last, d)
|
merged = deep_merge(last, d)
|
||||||
last = deepcopy(merged)
|
last = deepcopy(merged)
|
||||||
merged_list.append(deepcopy(merged))
|
merged_list.append(deepcopy(merged))
|
||||||
print(f"Merged: {merged}")
|
print(f"Merged: {merged}")
|
||||||
|
|
||||||
assert src == merged_list
|
assert src == merged_list
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user