]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/config.py
merge with ftp-master
[dak.git] / daklib / config.py
index 997a597d0e499e593684efa83b137a75db7f1d3a..2f24cd3a84aee1598092a652b3963e21252fed5e 100755 (executable)
@@ -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()
@@ -81,3 +83,5 @@ class Config(Singleton):
     def __getitem__(self, name):
         return self.Cnf[name]
 
+    def __setitem__(self, name, value):
+        self.Cnf[name] = value