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
|
from prompt_toolkit.completion import WordCompleter, ThreadedCompleter
|
||||||
|
|
||||||
CMDCompleter = 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)
|
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 import prompt
|
||||||
from prompt_toolkit.history import FileHistory
|
from prompt_toolkit.history import FileHistory
|
||||||
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
||||||
@ -7,6 +7,7 @@ from . import mtconf, dict_diff
|
|||||||
from . import command_apis as api
|
from . import command_apis as api
|
||||||
import sys, os.path
|
import sys, os.path
|
||||||
diff_str = dict_diff.diff_str
|
diff_str = dict_diff.diff_str
|
||||||
|
diff_get = dict_diff.diff
|
||||||
|
|
||||||
#@api.debug
|
#@api.debug
|
||||||
@api.no_param
|
@api.no_param
|
||||||
@ -79,12 +80,18 @@ def clear(conf,param):
|
|||||||
|
|
||||||
#@api.debug
|
#@api.debug
|
||||||
@api.no_param
|
@api.no_param
|
||||||
|
@api.require_api_arg("orig_conf")
|
||||||
@api.require_api_arg("file")
|
@api.require_api_arg("file")
|
||||||
def exit(file,param):
|
@api.require_api_arg("conf")
|
||||||
print("Make sure you saved all your jobs. Do you still want to exit?")
|
def exit(file,param,orig_conf,conf):
|
||||||
if input("(Yes/No) ").lower() != "yes":
|
adds,dels = diff_get(orig_conf,conf)
|
||||||
print("Cancled.")
|
if len(adds) + len(dels) != 0:
|
||||||
return
|
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()
|
file.close()
|
||||||
print("Bye")
|
print("Bye")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
@ -105,3 +112,14 @@ def write(conf,file,param,orig_conf):
|
|||||||
print("Writing data into file...")
|
print("Writing data into file...")
|
||||||
file.write(mtconf.render(conf))
|
file.write(mtconf.render(conf))
|
||||||
print("Done")
|
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)
|
return dict(os - ns), dict(ns - os)
|
||||||
|
|
||||||
def diff_str(o,n):
|
def diff_str(o,n):
|
||||||
print(o,n)
|
|
||||||
dels,adds = diff(o,n)
|
dels,adds = diff(o,n)
|
||||||
print("-" * 10)
|
print("-" * 10)
|
||||||
for x in dels:
|
|
||||||
print("+ " + x + " = " + dels[x])
|
|
||||||
print("-" * 10)
|
|
||||||
for x in adds:
|
for x in adds:
|
||||||
print("+ " + x + " = " + adds[x])
|
print("+ " + x + " = " + adds[x])
|
||||||
print("-" * 10)
|
print("-" * 10)
|
||||||
|
for x in dels:
|
||||||
|
print("- " + x + " = " + dels[x])
|
||||||
|
print("-" * 10)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user