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, data, newData, updateQuery): data = [data[i] + newData[i] for i in range(len(data))] 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().read(ID, insertQuery) def update(self, data, newData): query = """ UPDATE ledger SET MONEY = ?, WINS = ?, LOSSES = ?, WHERE USERID = ?""" super().update(data, newData, query) def main(): pass if __name__ == "__main__": main()