From 631901a82784721be660498c806609028b63d925 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Sun, 11 Aug 2013 18:05:54 +0200 Subject: [PATCH] Fix error when plugins key was not present --- base/manifest.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/base/manifest.py b/base/manifest.py index dd53dda..39986da 100644 --- a/base/manifest.py +++ b/base/manifest.py @@ -53,19 +53,20 @@ class Manifest(object): self.bootstrapper['tarball_dir'] = '/tmp' self.volume = data['volume'] self.system = data['system'] - self.plugins = data['plugins'] + self.plugins = data['plugins'] if 'plugins' in data else {} def load_plugins(self, data): self.loaded_plugins = [] - for plugin_name, plugin_data in data['plugins'].iteritems(): - if plugin_data['enabled']: - modname = 'plugins.{plugin_name}'.format(plugin_name=plugin_name) - plugin = __import__(modname, fromlist=['plugins']) - init = getattr(plugin, 'initialize', None) - if callable(init): - init() - log.debug('Loaded plugin `%s\'', plugin_name) - self.loaded_plugins.append(plugin) - validate = getattr(plugin, 'validate_manifest', None) - if callable(validate): - validate(data, self.schema_validate) + if 'plugins' in data: + for plugin_name, plugin_data in data['plugins'].iteritems(): + if plugin_data['enabled']: + modname = 'plugins.{plugin_name}'.format(plugin_name=plugin_name) + plugin = __import__(modname, fromlist=['plugins']) + init = getattr(plugin, 'initialize', None) + if callable(init): + init() + log.debug('Loaded plugin `%s\'', plugin_name) + self.loaded_plugins.append(plugin) + validate = getattr(plugin, 'validate_manifest', None) + if callable(validate): + validate(data, self.schema_validate)