]> git.ipfire.org Git - people/jschlag/pbs.git/commitdiff
Fix reading configuration if environment isn't used
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 10 Oct 2017 16:11:39 +0000 (17:11 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 10 Oct 2017 16:11:39 +0000 (17:11 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/__init__.py

index b9f3e650564a8474c6814ab39cef173d1da8fc70..41c45805d679b99566f3af863e2841f0322d969a 100644 (file)
@@ -71,14 +71,29 @@ class Backend(object):
                # A pool to store strings (for comparison).
                self.pool        = pakfire.satsolver.Pool("dummy")
 
+       @lazy_property
+       def _environment_configuration(self):
+               env = {}
+
+               # Get database configuration
+               env["database"] = {
+                       "name"     : os.environ.get("PBS_DATABASE_NAME"),
+                       "hostname" : os.environ.get("PBS_DATABASE_HOSTNAME"),
+                       "user"     : os.environ.get("PBS_DATABASE_USER"),
+                       "password" : os.environ.get("PBS_DATABASE_PASSWORD"),
+               }
+
+               return env
+
        def read_config(self, path):
                c = ConfigParser.SafeConfigParser()
 
-               c.add_section("database")
-               c.set("database", "name", os.environ.get("PBS_DATABASE_NAME"))
-               c.set("database", "hostname", os.environ.get("PBS_DATABASE_HOSTNAME"))
-               c.set("database", "user", os.environ.get("PBS_DATABASE_USER"))
-               c.set("database", "password", os.environ.get("PBS_DATABASE_PASSWORD"))
+               # Import configuration from environment
+               for section in self._environment_configuration:
+                       c.add_section(section)
+
+                       for k in self._environment_configuration[section]:
+                               c.set(section, k, self._environment_configuration[section][k] or "")
 
                # Load default configuration file first
                paths = [