From 2538db5c0795dfac2cc40e62de6e47d7435a2406 Mon Sep 17 00:00:00 2001 From: flan Date: Tue, 28 Aug 2018 17:34:29 +0200 Subject: [PATCH] Remove redundant checks, check if user exists before changing password --- ankisyncctl.py | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/ankisyncctl.py b/ankisyncctl.py index 550b51d..217364c 100755 --- a/ankisyncctl.py +++ b/ankisyncctl.py @@ -20,28 +20,17 @@ def usage(): print(" passwd - change password of a user") def adduser(username): - if username: - password = getpass.getpass("Enter password for {}: ".format(username)) + password = getpass.getpass("Enter password for {}: ".format(username)) - user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) - user_manager.add_user(username, password) - else: - usage() + user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) + user_manager.add_user(username, password) def deluser(username): - if username and os.path.isfile(AUTHDBPATH): - user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) - - try: - user_manager.del_user(username) - except ValueError as error: - print("Could not delete user {}: {}" - .format(username, error), file=sys.stderr) - elif not username: - usage() - else: - print("{}: Database file does not exist".format(sys.argv[0]), - file=sys.stderr) + user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) + try: + user_manager.del_user(username) + except ValueError as error: + print("Could not delete user {}: {}".format(username, error), file=sys.stderr) def lsuser(): user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) @@ -53,18 +42,17 @@ def lsuser(): print("Could not list users: {}".format(error), file=sys.stderr) def passwd(username): - if os.path.isfile(AUTHDBPATH): - password = getpass.getpass("Enter password for {}: ".format(username)) + user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) - user_manager = SqliteUserManager(AUTHDBPATH, COLLECTIONPATH) - try: - user_manager.set_password_for_user(username, password) - except ValueError as error: - print("Could not set password for user {}: {}" - .format(username, error), file=sys.stderr) - else: - print("{}: Database file does not exist".format(sys.argv[0]), - file=sys.stderr) + if username not in user_manager.user_list(): + print("User {} doesn't exist".format(username)) + return + + password = getpass.getpass("Enter password for {}: ".format(username)) + try: + user_manager.set_password_for_user(username, password) + except ValueError as error: + print("Could not set password for user {}: {}".format(username, error), file=sys.stderr) def main(): argc = len(sys.argv)