ContactBridge

Log | Files | Refs | README

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()