Skip to content

Commit 6f20bc8

Browse files
committed
add not working file
1 parent 62c2b78 commit 6f20bc8

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

gendiff/not_working_code.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from gendiff.data import read_data
2+
3+
4+
def miks_dict(file1, file2):
5+
diff_dict = {}
6+
data1 = read_data(file1)
7+
data2 = read_data(file2)
8+
def inner(data1=None, data2=None):
9+
if not data1:
10+
data1 = {}
11+
if not data2:
12+
data2 = {}
13+
all_keys = sorted(list(data1.keys() | data2.keys()))
14+
for k in all_keys:
15+
if k in data1 and k in data2:
16+
if data1[k] == data2[k] and (not isinstance(data1[k], dict)
17+
and not isinstance(data2[k], dict)):
18+
diff_dict[f' {k}'] = data1[k]
19+
elif data1[k] == data2[k] and (isinstance(data1[k], dict)
20+
or isinstance(data2, dict)):
21+
if f' {k}' not in diff_dict:
22+
diff_dict[f' {k}'] = {}
23+
diff_dict[f' {k}'] = inner(data1[k], data2[k])
24+
elif data1[k] != data2[k] and (not isinstance(data1[k], dict)
25+
and not isinstance(data2[k], dict)):
26+
diff_dict[f'- {k}'] = data1[k]
27+
diff_dict[f'+ {k}'] = data2[k]
28+
elif data1[k] != data2[k] and (isinstance(data1[k], dict)
29+
or isinstance(data2, dict)):
30+
if f'- {k}' not in diff_dict:
31+
diff_dict[f'- {k}'] = {}
32+
diff_dict[f'- {k}'].update(inner(data1[k], data2[k]))
33+
elif k in data1 and k not in data2:
34+
if isinstance(data1[k], dict):
35+
diff_dict[f'- {k}'] = inner(data1[k], None)
36+
else:
37+
diff_dict[f'- {k}'] = data1[k]
38+
elif k not in data1 and k in data2:
39+
if isinstance(data2[k], dict):
40+
diff_dict[f'+ {k}'] = inner(None, data2[k])
41+
else:
42+
diff_dict[f'+ {k}'] = data2[k]
43+
return diff_dict
44+
45+
inner(data1, data2)
46+
return diff_dict
47+
48+
49+
print(6, miks_dict('tests/test_data/file5.json',
50+
'tests/test_data/file6.json'))

0 commit comments

Comments
 (0)