diff --git a/plinth/modules/miniflux/privileged.py b/plinth/modules/miniflux/privileged.py index 4490a5946..4a0b5f4c3 100644 --- a/plinth/modules/miniflux/privileged.py +++ b/plinth/modules/miniflux/privileged.py @@ -5,13 +5,12 @@ import json import os import pathlib from typing import Tuple -from urllib.parse import urlparse import pexpect from plinth import action_utils from plinth.actions import privileged, secret_str -from plinth.db import postgres +from plinth.db import postgres, dbconfig from plinth.utils import is_non_empty_file STATIC_SETTINGS = { @@ -21,7 +20,7 @@ STATIC_SETTINGS = { } ENV_VARS_FILE = '/etc/miniflux/freedombox.conf' -DATABASE_FILE = '/etc/miniflux/database' +DBCONFIG_PATH = '/etc/dbconfig-common/miniflux.conf' DB_BACKUP_FILE = '/var/lib/plinth/backups-data/miniflux-database.sql' @@ -117,28 +116,16 @@ def uninstall(): ]) -def _get_database_config(): - """Retrieve database credentials.""" - db_connection_string = pathlib.Path(DATABASE_FILE).read_text().strip() - parsed_url = urlparse(db_connection_string) - return { - 'user': parsed_url.username, - 'password': parsed_url.password, - 'database': parsed_url.path.lstrip('/'), - 'host': parsed_url.hostname, - } - - @privileged def dump_database(): """Dump database to file.""" - config = _get_database_config() + config = dbconfig.get_credentials(DBCONFIG_PATH) postgres.dump_database(DB_BACKUP_FILE, config['database']) @privileged def restore_database(): """Restore database from file.""" - config = _get_database_config() + config = dbconfig.get_credentials(DBCONFIG_PATH) postgres.restore_database(DB_BACKUP_FILE, config['database'], config['user'], config['password'])