import os from backend.code.modules.database.database import DatabaseModule import sqlite3 class DatabaseSqliteModule(DatabaseModule): def __init__(self): self.database = '/projects/database/settlements.db' self.schema = '/projects/database/1_schema_sqlite.sql' self.basic_data = '/projects/database/2_population_sqlite.sql' self.Initialize() def Initialize(self): exists = os.path.isfile(self.database) self.conn = sqlite3.connect(self.database, check_same_thread=False) self.cursor = self.conn.cursor() if exists is False: self.GenerateSchema() self.PopulateDatabase() def GenerateSchema(self): with open(self.schema, 'r', encoding='utf-8') as file: sql = file.read() self.cursor.executescript(sql) self.conn.commit() def PopulateDatabase(self): with open(self.basic_data, 'r', encoding='utf-8') as file: sql = file.read() self.cursor.executescript(sql) self.conn.commit() def SelectById(self): raise NotImplementedError("Select by id method not implemented") def SelectByCode(self): raise NotImplementedError("Select by code method not implemented") def Filter(self, data): raise NotImplementedError("Filter method not implemented") def Register(self, data): raise NotImplementedError("Register method not implemented") def Edit(self, register, data): raise NotImplementedError("Edit method not implemented") def Disable(self, register): raise NotImplementedError("Disable method not implemented")