48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
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") |