From a88b978ec1b7c288ff4a136b9fc4812a81bb5072 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Sun, 10 Mar 2013 23:07:22 +0100 Subject: Plugins/PkgVars: support multiple values per package If multiple values specified for one package all values are joined together in a set. --- src/lib/Bcfg2/Server/Plugins/PkgVars.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/lib/Bcfg2/Server/Plugins/PkgVars.py') diff --git a/src/lib/Bcfg2/Server/Plugins/PkgVars.py b/src/lib/Bcfg2/Server/Plugins/PkgVars.py index a085ea17e..9a2649d02 100644 --- a/src/lib/Bcfg2/Server/Plugins/PkgVars.py +++ b/src/lib/Bcfg2/Server/Plugins/PkgVars.py @@ -19,7 +19,12 @@ class PkgVarsFile(Bcfg2.Server.Plugin.StructFile): for v in vars: value = d.get(v, None) if value: - results[v][name] = value + if v not in results: + results[v] = {} + if name not in results[v]: + results[v][name] = set() + + results[v][name].add(value) return results @@ -35,7 +40,8 @@ class PkgVarsDirectoryBacked(Bcfg2.Server.Plugin.DirectoryBacked): for files in self.entries: new = self.entries[files].get_additional_data(meta) for x in vars: - results[x].update(new[x]) + if x in new: + results[x].update(new[x]) return results -- cgit v1.2.3-1-g7c22