Fix config file parsing and improve backup/restore functionality

- Fix external_server.conf parsing to skip comment lines and empty lines
- Update routes.py get_db_connection() to handle comments
- Update settings.py get_external_db_connection() to handle comments
- Improve restore_backup() to use mariadb command instead of Python parsing
- Remove SQLite database creation (MariaDB only)
- Add environment detection for dump command (mariadb-dump vs mysqldump)
- Add conditional SSL flag based on Docker environment
- Fix database restore to handle MariaDB sandbox mode comments
This commit is contained in:
ske087
2025-11-13 03:59:27 +02:00
parent 9d14d67e52
commit 0d98c527c6
4 changed files with 72 additions and 49 deletions

View File

@@ -214,8 +214,13 @@ def settings_handler():
if os.path.exists(settings_file):
with open(settings_file, 'r') as f:
for line in f:
key, value = line.strip().split('=', 1)
external_settings[key] = value
line = line.strip()
# Skip empty lines and comments
if not line or line.startswith('#'):
continue
if '=' in line:
key, value = line.split('=', 1)
external_settings[key] = value
return render_template('settings.html', users=users, external_settings=external_settings, current_user={'role': session.get('role', '')})
@@ -230,8 +235,13 @@ def get_external_db_connection():
settings = {}
with open(settings_file, 'r') as f:
for line in f:
key, value = line.strip().split('=', 1)
settings[key] = value
line = line.strip()
# Skip empty lines and comments
if not line or line.startswith('#'):
continue
if '=' in line:
key, value = line.split('=', 1)
settings[key] = value
# Create a database connection
return mariadb.connect(