def create_new_account(): first_name = get_non_blank("First name", False) last_name = get_non_blank("Last name", False) while True: username = get_non_blank("Username", False) password = get_non_blank("Password", get_hide()) hashed_password = sha256(password.encode('ascii')).hexdigest() reply = send_info( "create", "{} {} {} {}".format(first_name, last_name, username, hashed_password)) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 elif flag == -1: while True: answer = input("Try again? (y/n): ").lower() if answer == "n": return 0 elif not answer == "y": print("Not an answer") else: break else: return 1
def balance_service(session): reply = send_info("balance", session) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1
def logout_service(session): reply = send_info("logout", session) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1
def withdraw_service(session): withdraw_amount = get_amount() if withdraw_amount > 0: reply = send_info("withdraw", "{} {}".format(session, withdraw_amount)) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1 return 0
def deposit_service(session): deposit_amount = get_amount() if deposit_amount > 0: reply = send_info("deposit", "{} {}".format(session, deposit_amount)) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1 return 0
def login_service(): username = get_non_blank("Username", False) password = get_non_blank("Password", get_hide()) hashed_password = sha256(password.encode('ascii')).hexdigest() reply = send_info("login", "{} {}".format(username, hashed_password)) flag = reply[0] answer = reply[1] if flag == 0: print(answer) return 0 return answer
def transfer_service(session): transfer_amount = get_amount() account_number = get_account() if transfer_amount > 0 and account_number > 0: reply = send_info("transfer", "{} {} {}".format(session, account_number, transfer_amount)) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1 return 0
def password_service(session): hide = get_hide() old_password = get_non_blank("Current Password", hide) new_password = get_non_blank("New Password", hide) hashed_old = sha256(old_password.encode('ascii')).hexdigest() hashed_new = sha256(new_password.encode('ascii')).hexdigest() reply = send_info("changepass", "{} {} {}".format(session, hashed_old, hashed_new)) flag = reply[0] answer = reply[1] print(answer) if flag == 0: return 0 return 1
def transaction_service(session): reply = send_info("transactions", session) flag = reply[0] answer = reply[1] if flag == 0: print(answer) return 0 if not answer: print("No transactions have been made yet") return 0 try: for t in answer: print("{0}: ${1:.2f}".format(t[0], float(t[1]))) return 1 except ValueError: print("Error in viewing transaction history") return 0
def run_client_driver(): sock = connect() if sock: run_app() send_info("", "") sock.close()