From b94dbc9307aa7ec8c75b5aed55dad3397565bee4 Mon Sep 17 00:00:00 2001 From: ASPP Student Date: Mon, 28 Aug 2023 15:15:18 +0300 Subject: [PATCH] option to register new username --- auth.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/auth.py b/auth.py index b946a1f..81c4db4 100644 --- a/auth.py +++ b/auth.py @@ -1,5 +1,6 @@ import json import getpass +import os PATH = "./pwdb.json" @@ -9,24 +10,31 @@ def get_credentials(): return username, password def read_pwdb(): - with open(PATH, "rt") as f: - pwdb = json.load(f) + if os.path.isfile(PATH): + with open(PATH, "rt") as f: + pwdb = json.load(f) + else: + pwdb = {} return pwdb + def write_pwdb(pwdb): with open(PATH, "w") as f: json.dump(pwdb, f) - def authenticate(username, password, pwdb): + msg_failed = "Wrong username and/or password." if username in pwdb: if password == pwdb[username]: print("Successfully authenticated!") else: - print("Wrong Password") + print(msg_failed) else: - pwdb = add_user(username, password, pwdb) - write_pwdb(pwdb) + print(msg_failed) + if input("Register? y/n") == "y": + username, password = get_credentials() + pwdb = add_user(username, password, pwdb) + write_pwdb(pwdb) def add_user(username, password, pwdb): pwdb[username] = password