diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2012-03-23 10:51:32 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2012-03-23 10:51:32 -0500 |
commit | 3063e41f480a6143b42a0eff6e4ca17bbfc0d1db (patch) | |
tree | 204e6b486ab7c7a8f9c29ad3ec77a4e344272098 /src/lib/Server/Plugins/Bundler.py | |
parent | 397c17ffc5755d2b41ccfa01225d4f42cb9545c1 (diff) | |
parent | 746293b2f242c099037aac19f14f65e68d036270 (diff) | |
download | bcfg2-3063e41f480a6143b42a0eff6e4ca17bbfc0d1db.tar.gz bcfg2-3063e41f480a6143b42a0eff6e4ca17bbfc0d1db.tar.bz2 bcfg2-3063e41f480a6143b42a0eff6e4ca17bbfc0d1db.zip |
Merge branch 'maint'
Diffstat (limited to 'src/lib/Server/Plugins/Bundler.py')
-rw-r--r-- | src/lib/Server/Plugins/Bundler.py | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/lib/Server/Plugins/Bundler.py b/src/lib/Server/Plugins/Bundler.py index 5b5b0d698..ccb99481e 100644 --- a/src/lib/Server/Plugins/Bundler.py +++ b/src/lib/Server/Plugins/Bundler.py @@ -76,24 +76,24 @@ class Bundler(Bcfg2.Server.Plugin.Plugin, bundle_entries = {} for key, item in self.entries.items(): - bundle_entries.setdefault(self.patterns.match(os.path.basename(key)).group('name'), []).append(item) + bundle_entries.setdefault(self.patterns.match(os.path.basename(key)).group('name'), + []).append(item) for bundlename in metadata.bundles: - entries = bundle_entries[bundlename] - if len(entries) == 0: + try: + entries = bundle_entries[bundlename] + except KeyError: + self.logger.error("Bundler: Bundle %s does not exist" % + bundlename) continue - elif len(entries) == 1: - try: - bundleset.append(entries[0].get_xml_value(metadata)) - except genshi.template.base.TemplateError: - t = sys.exc_info()[1] - self.logger.error("Bundler: Failed to template genshi bundle %s" \ - % (bundlename)) - self.logger.error(t) - except: - self.logger.error("Bundler: Unexpected bundler error for %s" \ - % (bundlename), exc_info=1) - else: - self.logger.error("Got multiple matches for bundle %s" \ - % (bundlename)) + try: + bundleset.append(entries[0].get_xml_value(metadata)) + except genshi.template.base.TemplateError: + t = sys.exc_info()[1] + self.logger.error("Bundler: Failed to template genshi bundle %s" + % bundlename) + self.logger.error(t) + except: + self.logger.error("Bundler: Unexpected bundler error for %s" % + bundlename, exc_info=1) return bundleset |