56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
import sqlite3
|
|
class Database():
|
|
def __init__(self, name, tableCommand) -> None:
|
|
self.db = sqlite3.connect(name)
|
|
self.data = self.db.cursor()
|
|
self.data.execute(tableCommand)
|
|
|
|
def read(self, primaryKey, selectQuery):
|
|
self.data.execute(selectQuery, (primaryKey,))
|
|
data = self.data.fetchone()
|
|
return data
|
|
|
|
def write(self, ID, insertQuery):
|
|
self.data.execute(insertQuery, (ID,))
|
|
self.db.commit()
|
|
|
|
def update(self, ID, data, newData, updateQuery):
|
|
data = [data[i] + newData[i] for i in range(len(data))]
|
|
data.append(ID)
|
|
self.data.execute(updateQuery, data)
|
|
|
|
class Ledger(Database):
|
|
def __init__(self) -> None:
|
|
tableCommand = """ CREATE TABLE IF NOT EXISTS ledger (
|
|
ID integer PRIMARY KEY,
|
|
USERID integer,
|
|
MONEY integer DEFAULT 100,
|
|
WINS integer DEFAULT 0,
|
|
LOSSES integer DEFAULT 0
|
|
); """
|
|
super().__init__("ledger.db", tableCommand)
|
|
|
|
def read(self, ID):
|
|
selectQuery = """SELECT USERID, MONEY, WINS, LOSSES FROM ledger WHERE USERID = ?"""
|
|
data = super().read(ID, selectQuery)
|
|
return data
|
|
|
|
def write(self, ID):
|
|
insertQuery = """ INSERT INTO ledger(USERID)
|
|
VALUES(?) """
|
|
super().write(ID, insertQuery)
|
|
|
|
def update(self, ID, newData):
|
|
query = """ UPDATE ledger
|
|
SET MONEY = ?,
|
|
WINS = ?,
|
|
LOSSES = ?
|
|
WHERE USERID = ?"""
|
|
data = list(self.read(ID))[1:]
|
|
super().update(ID, data, newData, query)
|
|
|
|
def main():
|
|
pass
|
|
|
|
if __name__ == "__main__":
|
|
main() |