add diff by version fn v1
This commit is contained in:
parent
d5cfdf496f
commit
0c862fcb8b
2 changed files with 48 additions and 7 deletions
|
|
@ -841,13 +841,53 @@ def merge_lists(original, updated, path=""):
|
|||
original.append(item)
|
||||
|
||||
|
||||
|
||||
# Diff recipe = interactive diff
|
||||
# diff_recipe(master, "v1-v2-v3")
|
||||
# {"key_diff": [master_value, dev_value]}
|
||||
def diff_recipe(args):
|
||||
' `version 1`'
|
||||
|
||||
master_path = args[0]; versions_to_diff = args[1]
|
||||
vs = versions_to_diff.split("-")
|
||||
|
||||
default_dir = "./server/cofffeemachineConfig/"
|
||||
default_name = "coffeethai02_"
|
||||
|
||||
m_json = open(default_dir+default_name+master_path+".json", "r", encoding="utf-8").read()
|
||||
master_json_diff = json.loads(m_json)
|
||||
|
||||
results = []
|
||||
|
||||
try:
|
||||
for v in vs:
|
||||
results.append({
|
||||
"diff_between": master_path+"-"+v,
|
||||
"result": diff(flatten(master_json_diff), flatten(json.loads(open(default_dir+default_name+v+".json", "r", encoding="utf-8").read())),)[2]
|
||||
})
|
||||
except:
|
||||
print("Error diffing file")
|
||||
|
||||
for r in results:
|
||||
if len(args) > 2 and args[2] == "debug":
|
||||
print(r["diff_between"], " | diff len = ",len(r["result"]))
|
||||
|
||||
# write to file
|
||||
with open(default_dir+"/diff/"+r["diff_between"]+".json", "w", encoding="utf-8") as f:
|
||||
json.dump(r["result"], f, indent=2, ensure_ascii=False)
|
||||
|
||||
print("OK")
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
command_line = sys.argv[1]
|
||||
print(sys.argv)
|
||||
if command_line == "merge":
|
||||
merge(sys.argv[2:])
|
||||
|
||||
|
||||
elif command_line == "diff":
|
||||
diff_recipe(sys.argv[2:])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue