You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.5 KiB
126 lines
3.5 KiB
#!/usr/bin/env python3
|
|
import sqlite3
|
|
import os
|
|
|
|
def deluser(a):
|
|
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()
|
|
|
|
def listuser():
|
|
print("needs code")
|
|
|
|
|
|
def addUser(a):
|
|
connDb = sqlite3.connect(a)
|
|
cur = connDb.cursor()
|
|
userIn = input('What user would you like to add? ')
|
|
cur.execute("INSERT INTO account (username,active) VALUES(?,1)", (userIn,))
|
|
cur.execute("INSERT INTO balance (balance) VALUES(0.00)")
|
|
cur.execute("INSERT INTO banktrans (username) VALUES(?)", (userIn,))
|
|
connDb.commit()
|
|
connDb.close()
|
|
|
|
def manageBankmenu(a):
|
|
while True:
|
|
print("""
|
|
1. Add a user.
|
|
2. Delete a user.
|
|
3. List users.
|
|
4. Banking Menu.
|
|
Q to quit.
|
|
""")
|
|
menuOption = input("Bank: Choose from the menu: ")
|
|
if menuOption == '1':
|
|
addUser(a)
|
|
elif menuOption == '2':
|
|
deluser(a)
|
|
elif menuOption == '3':
|
|
print('list users')
|
|
elif menuOption == '4':
|
|
print('banking menu')
|
|
elif menuOption == 'q' or menuOption == 'Q':
|
|
break
|
|
else:
|
|
print('*** Option not understood. Please try again.')
|
|
|
|
def manageBank():
|
|
print()
|
|
#connDb = sqlite3.connect()
|
|
#cur = connDb.cursor()
|
|
#cur.execute('SELECT username from ACCOUNT;')
|
|
fmt = "{0}"
|
|
#for row in cur.fetchall():
|
|
# print(fmt.format(*row))
|
|
print()
|
|
|
|
def selectBank():
|
|
dirOutput = os.listdir()
|
|
matchs = [match for match in dirOutput if 'db.sqlite' in match]
|
|
#banks = dict(zip(matchs, range(len(matchs))))
|
|
for i in matchs:
|
|
print(i.split(".")[0])
|
|
print()
|
|
manBank = input('Choose which bank you would like to manage: ')
|
|
manBank = manBank+".db.sqlite"
|
|
manageBankmenu(manBank)
|
|
|
|
def addBank():
|
|
bankName = input("What would you like to call this bank? ")
|
|
bankName = bankName+".db.sqlite"
|
|
connDb = sqlite3.connect(bankName)
|
|
connDb.execute('''CREATE TABLE account
|
|
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
USERNAME TEXT NOT NULL,
|
|
TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP, ACTIVE BOOLEAN NOT NULL);''')
|
|
connDb.execute('''CREATE TABLE balance
|
|
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
BALANCE REAL NOT NULL,
|
|
TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP);''')
|
|
connDb.execute('''CREATE TABLE banktrans
|
|
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
USERNAME TEXT NOT NULL,
|
|
TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP);''')
|
|
connDb.close()
|
|
os.system('clear')
|
|
print()
|
|
print(f'*** Added bank {bankName}')
|
|
print()
|
|
|
|
def listBank():
|
|
dirOutput = os.listdir()
|
|
matchs = [match for match in dirOutput if 'db.sqlite' in match]
|
|
print()
|
|
print('Banks found: ')
|
|
for i in matchs:
|
|
print(i.split(".")[0])
|
|
|
|
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.')
|
|
|
|
|
|
|