Diff system
This commit is contained in:
parent
74234ba8ba
commit
a815ba81ec
2
main.py
2
main.py
@ -5,7 +5,7 @@ from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
||||
from prompt_toolkit.completion import WordCompleter, ThreadedCompleter
|
||||
|
||||
CMDCompleter = ThreadedCompleter(
|
||||
WordCompleter(['list', 'get', 'set', 'cat', 'rm', 'clear', 'exit','write'],
|
||||
WordCompleter(['list', 'get', 'set', 'cat', 'rm', 'clear', 'exit','write','diff'],
|
||||
ignore_case=True)
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ['list', 'get', 'set', 'cat', 'rm', 'clear', 'exit','write']
|
||||
# ['list', 'get', 'set', 'cat', 'rm', 'clear', 'exit','write','diff']
|
||||
from prompt_toolkit import prompt
|
||||
from prompt_toolkit.history import FileHistory
|
||||
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
||||
@ -7,6 +7,7 @@ from . import mtconf, dict_diff
|
||||
from . import command_apis as api
|
||||
import sys, os.path
|
||||
diff_str = dict_diff.diff_str
|
||||
diff_get = dict_diff.diff
|
||||
|
||||
#@api.debug
|
||||
@api.no_param
|
||||
@ -79,12 +80,18 @@ def clear(conf,param):
|
||||
|
||||
#@api.debug
|
||||
@api.no_param
|
||||
@api.require_api_arg("orig_conf")
|
||||
@api.require_api_arg("file")
|
||||
def exit(file,param):
|
||||
print("Make sure you saved all your jobs. Do you still want to exit?")
|
||||
@api.require_api_arg("conf")
|
||||
def exit(file,param,orig_conf,conf):
|
||||
adds,dels = diff_get(orig_conf,conf)
|
||||
if len(adds) + len(dels) != 0:
|
||||
print("You have unsaved changes. Do you still want to continue?")
|
||||
diff_str(orig_conf,conf)
|
||||
if input("(Yes/No) ").lower() != "yes":
|
||||
print("Cancled.")
|
||||
return
|
||||
|
||||
file.close()
|
||||
print("Bye")
|
||||
sys.exit()
|
||||
@ -105,3 +112,14 @@ def write(conf,file,param,orig_conf):
|
||||
print("Writing data into file...")
|
||||
file.write(mtconf.render(conf))
|
||||
print("Done")
|
||||
|
||||
#@api.debug
|
||||
@api.no_param
|
||||
@api.require_api_arg("orig_conf")
|
||||
@api.require_api_arg("conf")
|
||||
def diff(param,orig_conf,conf):
|
||||
adds,dels = diff_get(orig_conf,conf)
|
||||
if len(adds) + len(dels) != 0:
|
||||
diff_str(orig_conf,conf)
|
||||
else:
|
||||
print("No changes.")
|
||||
|
@ -4,12 +4,11 @@ def diff(o,n):
|
||||
return dict(os - ns), dict(ns - os)
|
||||
|
||||
def diff_str(o,n):
|
||||
print(o,n)
|
||||
dels,adds = diff(o,n)
|
||||
print("-" * 10)
|
||||
for x in dels:
|
||||
print("+ " + x + " = " + dels[x])
|
||||
print("-" * 10)
|
||||
for x in adds:
|
||||
print("+ " + x + " = " + adds[x])
|
||||
print("-" * 10)
|
||||
for x in dels:
|
||||
print("- " + x + " = " + dels[x])
|
||||
print("-" * 10)
|
||||
|
Loading…
x
Reference in New Issue
Block a user