Ledger now inherits from Database

This commit is contained in:
2023-04-14 21:05:47 +10:00
parent 848d5e3cf9
commit b9003b783e

View File

@@ -1,27 +1,43 @@
import sqlite3 import sqlite3
class Database():
class Ledger(): def __init__(self, name, tableCommand) -> None:
def __init__(self) -> None: self.db = sqlite3.connect(name)
self.db = sqlite3.connect("ledger.db")
self.data = self.db.cursor() self.data = self.db.cursor()
self.data.execute(""" CREATE TABLE IF NOT EXISTS ledger ( 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, ID integer PRIMARY KEY,
USERID integer, USERID integer,
MONEY integer DEFAULT 100, MONEY integer DEFAULT 100,
WINS integer DEFAULT 0, WINS integer DEFAULT 0,
LOSSES integer DEFAULT 0 LOSSES integer DEFAULT 0
); """) ); """
super().__init__("ledger.db", tableCommand)
def read(self, ID): def read(self, ID):
self.data.execute("""SELECT USERID, MONEY, WINS, LOSSES FROM ledger WHERE USERID = ?""", (ID,)) selectQuery = """SELECT USERID, MONEY, WINS, LOSSES FROM ledger WHERE USERID = ?"""
data = self.data.fetchone() data = super().read(ID, selectQuery)
return data return data
def write(self, ID): def write(self, ID):
query = """ INSERT INTO ledger(USERID) insertQuery = """ INSERT INTO ledger(USERID)
VALUES(?) """ VALUES(?) """
self.data.execute(query, (ID,)) super().read(ID, insertQuery)
self.db.commit()
def update(self, data, newData): def update(self, data, newData):
query = """ UPDATE ledger query = """ UPDATE ledger
@@ -29,8 +45,7 @@ class Ledger():
WINS = ?, WINS = ?,
LOSSES = ?, LOSSES = ?,
WHERE USERID = ?""" WHERE USERID = ?"""
data = [data[i] + newData[i] for i in range(len(data))] super().update(data, newData, query)
self.data.execute(query, data)
def main(): def main():
pass pass