adjusted database environment variable

pull/746/head
DJ2LS 2024-07-25 07:32:38 +02:00
parent 65ec094bfb
commit a510469548
3 changed files with 18 additions and 9 deletions

View File

@ -8,17 +8,15 @@ from message_system_db_model import Base, Station, Status, P2PMessage
import structlog
import helpers
import os
import sys
class DatabaseManager:
def __init__(self, event_manger, db_file=None):
self.event_manager = event_manger
if not db_file:
#print(os.environ)
DATABASE_ENV_VAR = 'FREEDATA_DATABASE'
DEFAULT_DATABASE_FILE = 'freedata-messages.db'
script_dir = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(script_dir, 'freedata-messages.db')
db_file = 'sqlite:///' + db_path
def __init__(self, event_manger):
db_file = self.get_database()
self.engine = create_engine(db_file, echo=False)
self.thread_local = local()
self.session_factory = sessionmaker(bind=self.engine)
@ -26,6 +24,17 @@ class DatabaseManager:
self.logger = structlog.get_logger(type(self).__name__)
def get_database(self):
script_directory = os.path.dirname(os.path.abspath(__file__))
sys.path.append(script_directory)
if self.DATABASE_ENV_VAR in os.environ:
#db_path = os.getenv(self.DATABASE_ENV_VAR, os.path.join(script_directory, self.DEFAULT_DATABASE_FILE))
db_path = os.getenv(self.DATABASE_ENV_VAR)
else:
db_path = os.path.join(script_directory, self.DEFAULT_DATABASE_FILE)
return 'sqlite:///' + db_path
def initialize_default_values(self):
session = self.get_thread_scoped_session()
try:

View File

@ -89,7 +89,7 @@ then
cp $serverdir/config.ini.example $HOME/.config/FreeDATA/config.ini
fi
FREEDATA_CONFIG=$HOME/.config/FreeDATA/config.ini python3 $serverdir/server.py > FreeDATA-server.log 2>&1 &
FREEDATA_CONFIG=$HOME/.config/FreeDATA/config.ini FREEDATA_DATABASE=$HOME/.config/FreeDATA/freedata-messages.db python3 $serverdir/server.py > FreeDATA-server.log 2>&1 &
serverpid=$!
echo "Process ID of FreeDATA server is" $serverpid

View File

@ -1 +1 @@
FREEDATA_CONFIG=freedata_server/config.ini python3 freedata_server/server.py
FREEDATA_CONFIG=freedata_server/config.ini FREEDATA_DATABASE=freedata_server/freedata-messages.db python3 freedata_server/server.py