From 45acc200b4c8b4e03d0d8cb46258ef21720e90c3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 10:09:27 +0200 Subject: Adding debian version 20230625-2. Signed-off-by: Daniel Baumann --- debian/lib/python/config.py | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 debian/lib/python/config.py (limited to 'debian/lib') diff --git a/debian/lib/python/config.py b/debian/lib/python/config.py new file mode 100644 index 0000000..46cc324 --- /dev/null +++ b/debian/lib/python/config.py @@ -0,0 +1,46 @@ +from debian_linux.config import ConfigParser, SchemaItemList + +class Config(dict): + config_name = "defines" + + top_schemas = { + 'base': { + 'packages': SchemaItemList(), + }, + } + + package_schemas = { + 'base': { + 'files': SchemaItemList(), + 'support': SchemaItemList(), + } + } + + def __init__(self): + self._read_base() + + def _read_base(self): + config = ConfigParser(self.top_schemas) + config.read("debian/config/%s" % self.config_name) + + packages = config['base',]['packages'] + + for section in iter(config): + real = (section[-1],) + section[:-1] + self[real] = config[section] + + for package in packages: + self._read_package(package) + + def _read_package(self, package): + config = ConfigParser(self.package_schemas) + config.read("debian/config/%s/%s" % (package, self.config_name)) + + for section in iter(config): + if len(section) > 1: + real = (section[-1], package, '_'.join(section[:-1])) + else: + real = (section[-1], package) + s = self.get(real, {}) + s.update(config[section]) + self[real] = s -- cgit v1.2.3