From 379fcd877a4d6579b5e12e86ba9a590db25a6b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Sat, 28 Mar 2020 16:09:23 +0100 Subject: [PATCH] mypass: Add automatic git push on changes --- bin/mypass | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/bin/mypass b/bin/mypass index 0c20e92..cd8b078 100755 --- a/bin/mypass +++ b/bin/mypass @@ -69,8 +69,25 @@ def cmd_get(*args): print(keydata) cmds = ['get'] +git_push_commands = ['insert', 'edit', 'generate', 'rm', 'mv', 'cp'] -if len(sys.argv) == 1 or sys.argv[1] not in cmds: - sys.exit(run([PASS] + sys.argv[1:])) +def run_pass(argv): + return run([PASS] + argv[1:]) + +def just_call_pass(argv): + sys.exit(run_pass(argv)) + +if len(sys.argv) == 1: + just_call_pass(sys.argv) +elif sys.argv[1] not in cmds: + if sys.argv[1] not in git_push_commands: + just_call_pass(sys.argv) + else: + e = run_pass(sys.argv) + if e == 0: + print("Pushing to remote repository...") + run([PASS, 'git', 'push']) + print("Done") + sys.exit(e) else: sys.exit(globals()['cmd_' + sys.argv[1]](*sys.argv[2:]))