core (config): if flatpak is detected, config is also looked after in /app

This commit is contained in:
Goffi 2019-06-23 17:40:19 +02:00
commit e85c55f7a0
2 changed files with 15 additions and 5 deletions

View file

@ -209,6 +209,19 @@ class Const(object):
+ ".conf"
]
else:
import os
CONFIG_PATHS = (
["/etc/", "~/", "~/.", "", "."]
+ [
"%s/" % path
for path in list(BaseDirectory.load_config_paths(APP_NAME_FILE))
]
)
if os.getenv('FLATPAK_ID'):
# for Flatpak, the conf can't be set in /etc or $HOME, so we have
# to add /app
CONFIG_PATHS.append('/app')
## Configuration ##
DEFAULT_CONFIG = {
@ -222,11 +235,7 @@ class Const(object):
# List of the configuration filenames sorted by ascending priority
CONFIG_FILES = [
realpath(expanduser(path) + APP_NAME_FILE + ".conf")
for path in ["/etc/", "~/", "~/.", "", "."]
+ [
"%s/" % path
for path in list(BaseDirectory.load_config_paths(APP_NAME_FILE))
]
for path in CONFIG_PATHS
]
## Templates ##

View file

@ -32,6 +32,7 @@ from sat.core import exceptions
log = getLogger(__name__)
def fixConfigOption(section, option, value, silent=True):
"""Force a configuration option value, writing it in the first found user
config file, eventually creating a new user config file if none is found.