X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fconfig.py;h=2f24cd3a84aee1598092a652b3963e21252fed5e;hb=ca796dcee116ca51313de0eb8bcb516c8801f038;hp=f7f270f085e57416c8f29229017d9358bb0799da;hpb=b67d98ef5542c0258021b03a015c775a6db66d56;p=dak.git diff --git a/daklib/config.py b/daklib/config.py index f7f270f0..2f24cd3a 100755 --- a/daklib/config.py +++ b/daklib/config.py @@ -28,6 +28,7 @@ Config access class ################################################################################ +import os import apt_pkg import socket @@ -35,12 +36,11 @@ from singleton import Singleton ################################################################################ -default_config = "/etc/dak/dak.conf" +default_config = "/etc/dak/dak.conf" #: default dak config, defines host properties -def which_conf_file(Cnf): - res = socket.gethostbyaddr(socket.gethostname()) - if Cnf.get("Config::" + res[0] + "::DakConfig"): - return Cnf["Config::" + res[0] + "::DakConfig"] +def which_conf_file(): + if os.getenv("DAK_CONFIG"): + return os.getenv("DAK_CONFIG") else: return default_config @@ -57,7 +57,7 @@ class Config(Singleton): self.Cnf = apt_pkg.newConfiguration() - apt_pkg.ReadConfigFileISC(self.Cnf, default_config) + apt_pkg.ReadConfigFileISC(self.Cnf, which_conf_file()) # Check whether our dak.conf was the real one or # just a pointer to our main one @@ -71,6 +71,8 @@ class Config(Singleton): self.get = self.Cnf.get self.SubTree = self.Cnf.SubTree self.ValueList = self.Cnf.ValueList + self.Find = self.Cnf.Find + self.FindB = self.Cnf.FindB def _startup(self, *args, **kwargs): self._readconf() @@ -78,12 +80,8 @@ class Config(Singleton): def has_key(self, name): return self.Cnf.has_key(name) - def Find(self, *args, **kwargs): - return self.Cnf.Find(*args, **kwargs) - - def FindB(self, *args, **kwargs): - return self.Cnf.FindB(*args, **kwargs) - def __getitem__(self, name): return self.Cnf[name] + def __setitem__(self, name, value): + self.Cnf[name] = value