27 lines
692 B
Python
27 lines
692 B
Python
from database import Database
|
|
import sqlite3
|
|
|
|
class SQLite(Database):
|
|
def __init__(self, db_name: str):
|
|
super(self, Database).__init__()
|
|
|
|
self.db = sqlite3.connect(db_name)
|
|
self.db.autocommit = True
|
|
|
|
def close(self):
|
|
self.db.close()
|
|
|
|
def query(self, query: str, parameters: list=None) -> tuple[int, list[tuple]]:
|
|
if parameters is None:
|
|
cursor = self.db.execute(query)
|
|
else:
|
|
cursor = self.db.execute(query, parameters)
|
|
|
|
if query.casefold().startswith("SELECT".casefold()):
|
|
rows = list(cursor)
|
|
|
|
return (len(rows), rows)
|
|
else:
|
|
return (cursor.rowcount, None)
|
|
|