repository.py (928B)
1 import os 2 import sqlite3 3 4 5 class DbRepository: 6 CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) 7 DB_PATH = os.path.join(CURRENT_DIR, 'database.db') 8 9 def __init__(self): 10 self.connection = sqlite3.connect(self.DB_PATH, check_same_thread=False) 11 self.setup_database() 12 13 def execute_query(self, query, parameters=(), expect_result=False): 14 with self.connection: 15 cursor = self.connection.cursor() 16 cursor.execute(query, parameters) 17 18 if expect_result: 19 result = cursor.fetchall() 20 cursor.close() 21 return result 22 23 def setup_database(self): 24 with open(os.path.join(self.CURRENT_DIR, 'db.sql'), 'r') as sql_file: 25 sql_script = sql_file.read() 26 with self.connection: 27 self.connection.executescript(sql_script) 28 29 def close_connection(self): 30 self.connection.close()