From: Michael Tremer Date: Tue, 10 Oct 2017 16:11:39 +0000 (+0100) Subject: Fix reading configuration if environment isn't used X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=20325c11339e46bccaa95317220f29c5c688dbaa;p=people%2Fjschlag%2Fpbs.git Fix reading configuration if environment isn't used Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/__init__.py b/src/buildservice/__init__.py index b9f3e65..41c4580 100644 --- a/src/buildservice/__init__.py +++ b/src/buildservice/__init__.py @@ -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 = [