From 4a9ee4d40c3751c62e50d45cd2024f17318ba7a6 Mon Sep 17 00:00:00 2001 From: flan Date: Sat, 28 Oct 2017 17:54:58 +0200 Subject: [PATCH] Rewrite command handling --- ankisyncctl.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/ankisyncctl.py b/ankisyncctl.py index 994171f..eb07867 100755 --- a/ankisyncctl.py +++ b/ankisyncctl.py @@ -90,28 +90,28 @@ def passwd(username): def main(): argc = len(sys.argv) - exitcode = 0 + + cmds = { + "adduser": adduser, + "deluser": deluser, + "lsuser": lsuser, + "passwd": passwd, + } if argc < 2: usage() - exitcode = 1 - else: - if argc < 3: - sys.argv.append(None) + exit(1) - if sys.argv[1] == "adduser": - adduser(sys.argv[2]) - elif sys.argv[1] == "deluser": - deluser(sys.argv[2]) - elif sys.argv[1] == "lsuser": - lsuser() - elif sys.argv[1] == "passwd": - passwd(sys.argv[2]) + c = sys.argv[1] + try: + if argc > 2: + for arg in sys.argv[2:]: + cmds[c](arg) else: - usage() - exitcode = 1 - - sys.exit(exitcode) + cmds[c]() + except KeyError: + usage() + exit(1) if __name__ == "__main__": main()