diff --git a/ddbank.py b/ddbank.py index f4d896c..7fc4c4d 100755 --- a/ddbank.py +++ b/ddbank.py @@ -1,8 +1,25 @@ #!/usr/bin/env python3 import sqlite3 import os +clear = lambda: os.system('clear') +def deposit(a): + clear() + print('Deposit: ') + connDb = sqlite3.connect(a) + cur = connDb.cursor() + withUser = input("User?: ") + userIn = int(input(f'{withUser}: Amount to deposit: ')) + cur.execute("SELECT id FROM account where username=?", (withUser, )) + userId = cur.fetchone()[0] + cur.execute("SELECT balance from balance where id=?", (userId, )) + prevAmt = cur.fetchone()[0] + cur.execute("UPDATE balance SET balance=(?+?) WHERE id=?", (prevAmt, userIn, userId, )) + connDb.commit() + connDb.close() def withdraw(a): + clear() + print('Withdraw: ') connDb = sqlite3.connect(a) cur = connDb.cursor() withUser = input("User?: ") @@ -20,36 +37,49 @@ def withdraw(a): connDb.close() def manBankin(a): + clear() + bankNam = a.split(".")[0] + print(f'Transactional menu for the {bankNam} bank. ') while True: - bankNam = a.split(".")[0] print(""" 1. Withdraw 2. Deposit 3. Transfer 4. User Balance check - Q. Go Back + 9. Go Back """) userIn = input(f"Bank/{bankNam}: ") if userIn == "1": withdraw(a) elif userIn == "2": - print("Deposit") + deposit(a) elif userIn == "3": print("Transfer") elif userIn == "4": print("User balance") - elif userIn == "q" or userIn == "Q": - break + elif userIn == "9": + manageBankmenu(a) + elif userIn == "8": + mainFunc() else: print('*** Option not understood. Please try again.') def deluser(a): + clear() + bankNam = a.split(".")[0] + print(f'Delete a user from bank {bankNam}. ') + print() userIn = input("Which user would you like to delete? ") connDb = sqlite3.connect(a) cur = connDb.cursor() cur.execute("""UPDATE account SET active = 0 where username = ?""", (userIn,)) connDb.commit() connDb.close() + print() + print(f'*** Deleted user {userIn} from bank {bankNam}. ') + print() + print(f'You are managing the {bankNam} bank. ') + print() def listuser(a): connDb = sqlite3.connect(a) @@ -66,6 +96,10 @@ def listuser(a): print("__________________________") def addUser(a): + clear() + bankNam = a.split(".")[0] + print(f'Add a user to bank {bankNam}. ') + print() connDb = sqlite3.connect(a) cur = connDb.cursor() userIn = input('What user would you like to add? ') @@ -74,15 +108,24 @@ def addUser(a): cur.execute("INSERT INTO banktrans (username,amount) VALUES(?,0.00)", (userIn,)) connDb.commit() connDb.close() + clear() + print(f'*** Added user {userIn} to bank {bankNam}. ') + print() + print(f"You are managing the {bankNam} bank. ") + print() def manageBankmenu(a): + clear() + bankNam = a.split(".")[0] + print(f'You are managing the {bankNam} bank. ') + print() while True: print(""" 1. Add a user. 2. Delete a user. 3. List users. 4. Banking Menu. - Q. Go Back. + 9. Go Back. """) menuOption = input("Bank: Choose from the menu: ") if menuOption == '1': @@ -93,12 +136,15 @@ def manageBankmenu(a): listuser(a) elif menuOption == '4': manBankin(a) - elif menuOption == 'q' or menuOption == 'Q': - break + elif menuOption == '9': + mainFunc() else: print('*** Option not understood. Please try again.') def selectBank(): + clear() + print('Select a bank: ') + print() dirOutput = os.listdir() matchs = [match for match in dirOutput if 'db.sqlite' in match] #banks = dict(zip(matchs, range(len(matchs)))) @@ -110,6 +156,9 @@ def selectBank(): manageBankmenu(manBank) def addBank(): + clear() + print('Add a bank: ') + print() bankName = input("What would you like to call this bank? ") bankName = bankName+".db.sqlite" connDb = sqlite3.connect(bankName) @@ -127,12 +176,14 @@ def addBank(): AMOUNT INTEGER NOT NULL, TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP);''') connDb.close() - os.system('clear') + clear() print() print(f'*** Added bank {bankName}') print() def listBank(): + clear() + print() dirOutput = os.listdir() matchs = [match for match in dirOutput if 'db.sqlite' in match] print() @@ -141,29 +192,31 @@ def listBank(): for i in matchs: print(i.split(".")[0]) print("__________________________") - -while True: - print(""" - 1. Select a Bank. - 2. Add new bank. - 3. List banks. - 4. Delete a bank. - Q to quit. - """) - mainOption = input("Choose an option: ") - if mainOption == '1': - selectBank() - elif mainOption == '2': - addBank() - elif mainOption == '3': - listBank() - elif mainOption == '4': - print('Place function here.') - elif mainOption == 'Q' or mainOption == 'q': - break - else: - print() - print('*** Option not understood. Please try again.') - +def mainFunc(): + clear() + print('Welcome to the Kniod D&D Banking Software! ') + while True: + print(""" + 1. Select a Bank. + 2. Add new bank. + 3. List banks. + 4. Delete a bank. + Q to quit. + """) + mainOption = input("Choose an option: ") + if mainOption == '1': + selectBank() + elif mainOption == '2': + addBank() + elif mainOption == '3': + listBank() + elif mainOption == '4': + print('Place function here.') + elif mainOption == 'Q' or mainOption == 'q': + break + else: + print() + print('*** Option not understood. Please try again.') +mainFunc()