|
import os |
|
|
|
from sqlalchemy import create_engine |
|
from sqlalchemy.schema import MetaData |
|
from sqlalchemy.orm import declarative_base |
|
|
|
from modules import scripts |
|
|
|
|
|
Base = declarative_base() |
|
metadata: MetaData = Base.metadata |
|
|
|
db_file = os.path.join(scripts.basedir(), "task_scheduler.sqlite3") |
|
|
|
|
|
class BaseTableManager: |
|
def __init__(self, engine = None): |
|
|
|
try: |
|
self.engine = engine if engine else create_engine(f"sqlite:///{db_file}") |
|
except Exception as e: |
|
print(f"Exception connecting to database: {e}") |
|
raise e |
|
|
|
def get_engine(self): |
|
return self.engine |
|
|
|
|
|
def quit(self): |
|
self.engine.dispose() |
|
|