X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fconfig.py;h=51b7931270264d30a7b71130dfc4564a46f83cb6;hb=56c670d4b1dd0d73a38f9e6d47d48356b8cc3407;hp=932df6b53c685a8149a53774b60f3299a4ba82d6;hpb=04e4890f3419f85c2aaaec7c91b20eccfff622e2;p=dak.git diff --git a/daklib/config.py b/daklib/config.py index 932df6b5..51b79312 100755 --- a/daklib/config.py +++ b/daklib/config.py @@ -36,6 +36,13 @@ import socket default_config = "/etc/dak/dak.conf" #: default dak config, defines host properties +# suppress some deprecation warnings in squeeze related to apt_pkg +# module +import warnings +warnings.filterwarnings('ignore', ".*apt_pkg.* is deprecated.*", DeprecationWarning) + +################################################################################ + def which_conf_file(): return os.getenv("DAK_CONFIG", default_config) @@ -58,27 +65,31 @@ class Config(object): def _readconf(self): apt_pkg.init() - self.Cnf = apt_pkg.newConfiguration() + self.Cnf = apt_pkg.Configuration() - apt_pkg.ReadConfigFileISC(self.Cnf, which_conf_file()) + apt_pkg.read_config_file_isc(self.Cnf, which_conf_file()) # Check whether our dak.conf was the real one or # just a pointer to our main one res = socket.gethostbyaddr(socket.gethostname()) conffile = self.Cnf.get("Config::" + res[0] + "::DakConfig") if conffile: - apt_pkg.ReadConfigFileISC(self.Cnf, conffile) + apt_pkg.read_config_file_isc(self.Cnf, conffile) # Rebind some functions # TODO: Clean this up 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 + self.subtree = self.Cnf.subtree + self.value_list = self.Cnf.value_list + self.find = self.Cnf.find + self.find_b = self.Cnf.find_b + self.find_i = self.Cnf.find_i def has_key(self, name): - return self.Cnf.has_key(name) + return name in self.Cnf + + def __contains__(self, name): + return name in self.Cnf def __getitem__(self, name): return self.Cnf[name] @@ -108,10 +119,9 @@ class Config(object): """ for field in [('db_revision', None, int), ('defaultsuitename', 'unstable', str), - ('signingkeyids', '', str), ('exportpath', '', str) ]: - setattr(self, 'get_%s' % field[0], lambda x=None: self.get_db_value(field[0], field[1], field[2])) + setattr(self, 'get_%s' % field[0], lambda s=None, x=field[0], y=field[1], z=field[2]: self.get_db_value(x, y, z)) setattr(Config, '%s' % field[0], property(fget=getattr(self, 'get_%s' % field[0]))) def get_defaultsuite(self):