mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
43 lines
885 B
Python
43 lines
885 B
Python
import sys
|
|
|
|
from dcs.lua.parse import *
|
|
from dcs.lua.serialize import *
|
|
|
|
a = loads(open(sys.argv[1], "r").read())
|
|
b = loads(open(sys.argv[2], "r").read())
|
|
|
|
|
|
def get(a, k):
|
|
b = a
|
|
for x in k.strip().split(" "):
|
|
if isinstance(a, dict):
|
|
y = a
|
|
a = a.get(x, None)
|
|
if a is None:
|
|
try:
|
|
a = y.get(int(x), None)
|
|
except:
|
|
pass
|
|
else:
|
|
break
|
|
if a is None:
|
|
pass
|
|
return a
|
|
|
|
|
|
def cycle(kk, ref, v):
|
|
if isinstance(v, dict):
|
|
for k, v in v.items():
|
|
cycle(kk + " " + str(k), ref, v)
|
|
elif isinstance(v, list):
|
|
for i, v in enumerate(v):
|
|
cycle(kk + " " + str(i), ref, v)
|
|
else:
|
|
if get(ref, kk) != v:
|
|
print(kk)
|
|
print(v)
|
|
print(get(ref, kk))
|
|
|
|
|
|
cycle("", a, b)
|