diff sat/core/constants.py @ 2965:121c4a2a567c

core (config): if flatpak is detected, config is also looked after in /app
author Goffi <goffi@goffi.org>
date Sun, 23 Jun 2019 17:40:19 +0200
parents 767e1ef6e1bd
children 9a47a8caa280
line wrap: on
line diff
--- a/sat/core/constants.py	Fri Jun 21 12:59:36 2019 +0200
+++ b/sat/core/constants.py	Sun Jun 23 17:40:19 2019 +0200
@@ -209,6 +209,19 @@
                 + ".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 @@
             # 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 ##