aboutsummaryrefslogtreecommitdiffstats
path: root/debian/lib/python/debian_linux/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'debian/lib/python/debian_linux/config.py')
-rw-r--r--debian/lib/python/debian_linux/config.py79
1 files changed, 40 insertions, 39 deletions
diff --git a/debian/lib/python/debian_linux/config.py b/debian/lib/python/debian_linux/config.py
index 970039acae75..ac473c99c308 100644
--- a/debian/lib/python/debian_linux/config.py
+++ b/debian/lib/python/debian_linux/config.py
@@ -1,14 +1,14 @@
-import os, os.path, re, sys, textwrap, ConfigParser
+import os, os.path, re, sys, textwrap
__all__ = [
- 'config_parser',
- 'config_reader',
- 'config_reader_arch',
+ 'ConfigParser',
+ 'ConfigReader',
+ 'ConfigReaderCore',
]
_marker = object()
-class schema_item_boolean(object):
+class SchemaItemBoolean(object):
def __call__(self, i):
i = i.strip().lower()
if i in ("true", "1"):
@@ -17,7 +17,7 @@ class schema_item_boolean(object):
return False
raise Error
-class schema_item_list(object):
+class SchemaItemList(object):
def __init__(self, type = "\s+"):
self.type = type
@@ -27,7 +27,7 @@ class schema_item_list(object):
return []
return [j.strip() for j in re.split(self.type, i)]
-class config_reader(dict):
+class ConfigReader(dict):
config_name = "defines"
def __init__(self, dirs = []):
@@ -36,18 +36,18 @@ class config_reader(dict):
def __getitem__(self, key):
return self.get(key)
- def _get_files(self, name):
- return [os.path.join(i, name) for i in self._dirs if i]
-
def _update(self, ret, inputkey):
- for key, value in super(config_reader, self).get(tuple(inputkey), {}).iteritems():
+ for key, value in super(ConfigReader, self).get(tuple(inputkey), {}).iteritems():
ret[key] = value
+ def getFiles(self, name):
+ return [os.path.join(i, name) for i in self._dirs if i]
+
def get(self, key, default = _marker):
if isinstance(key, basestring):
key = key,
- ret = super(config_reader, self).get(tuple(key), default)
+ ret = super(ConfigReader, self).get(tuple(key), default)
if ret == _marker:
raise KeyError, key
return ret
@@ -59,28 +59,28 @@ class config_reader(dict):
return ret
def sections(self):
- return super(config_reader, self).keys()
+ return super(ConfigReader, self).keys()
-class config_reader_arch(config_reader):
+class ConfigReaderCore(ConfigReader):
schema = {
- 'arches': schema_item_list(),
- 'available': schema_item_boolean(),
- 'configs': schema_item_list(),
- 'flavours': schema_item_list(),
- 'initramfs': schema_item_boolean(),
- 'initramfs-generators': schema_item_list(),
- 'modules': schema_item_boolean(),
- 'subarches': schema_item_list(),
- 'versions': schema_item_list(),
+ 'arches': SchemaItemList(),
+ 'available': SchemaItemBoolean(),
+ 'configs': SchemaItemList(),
+ 'flavours': SchemaItemList(),
+ 'initramfs': SchemaItemBoolean(),
+ 'initramfs-generators': SchemaItemList(),
+ 'modules': SchemaItemBoolean(),
+ 'subarches': SchemaItemList(),
+ 'versions': SchemaItemList(),
}
def __init__(self, dirs = []):
- super(config_reader_arch, self).__init__(dirs)
- self._read_base()
+ super(ConfigReaderCore, self).__init__(dirs)
+ self._readBase()
- def _read_arch(self, arch):
- files = self._get_files("%s/%s" % (arch, self.config_name))
- config = config_parser(self.schema, files)
+ def _readArch(self, arch):
+ files = self.getFiles("%s/%s" % (arch, self.config_name))
+ config = ConfigParser(self.schema, files)
subarches = config['base',].get('subarches', [])
flavours = config['base',].get('flavours', [])
@@ -109,7 +109,7 @@ class config_reader_arch(config_reader):
else:
avail = True
if avail:
- self._read_subarch(arch, subarch)
+ self._readSubarch(arch, subarch)
base = self['base', arch]
base['subarches'] = subarches
@@ -120,11 +120,11 @@ class config_reader_arch(config_reader):
self['base', arch] = base
self['base', arch, 'none'] = {'flavours': flavours}
for flavour in flavours:
- self._read_flavour(arch, 'none', flavour)
+ self._readFlavour(arch, 'none', flavour)
- def _read_base(self):
- files = self._get_files(self.config_name)
- config = config_parser(self.schema, files)
+ def _readBase(self):
+ files = self.getFiles(self.config_name)
+ config = ConfigParser(self.schema, files)
arches = config['base',]['arches']
@@ -142,18 +142,18 @@ class config_reader_arch(config_reader):
except KeyError:
avail = True
if avail:
- self._read_arch(arch)
+ self._readArch(arch)
- def _read_flavour(self, arch, subarch, flavour):
+ def _readFlavour(self, arch, subarch, flavour):
if not self.has_key(('base', arch, subarch, flavour)):
if subarch == 'none':
import warnings
warnings.warn('No config entry for flavour %s, subarch none, arch %s' % (flavour, arch), DeprecationWarning)
self['base', arch, subarch, flavour] = {}
- def _read_subarch(self, arch, subarch):
+ def _readSubarch(self, arch, subarch):
files = self._get_files("%s/%s/%s" % (arch, subarch, self.config_name))
- config = config_parser(self.schema, files)
+ config = ConfigParser(self.schema, files)
flavours = config['base',].get('flavours', [])
@@ -169,7 +169,7 @@ class config_reader_arch(config_reader):
self[tuple(real)] = s
for flavour in flavours:
- self._read_flavour(arch, subarch, flavour)
+ self._readFlavour(arch, subarch, flavour)
def merge(self, section, arch = None, subarch = None, flavour = None):
ret = {}
@@ -184,13 +184,14 @@ class config_reader_arch(config_reader):
ret.update(self.get((section, arch, subarch, flavour), {}))
return ret
-class config_parser(object):
+class ConfigParser(object):
__slots__ = 'configs', 'schema'
def __init__(self, schema, files):
self.configs = []
self.schema = schema
for file in files:
+ import ConfigParser
config = ConfigParser.ConfigParser()
config.read(file)
self.configs.append(config)