bootstrap-vz/common/manifest.py

32 lines
721 B
Python

def load_manifest(path):
import json
return json.load(open(path))
def get_provider(data):
provider = __import__('providers.%s' % data['provider'], fromlist=['providers'])
return provider
class Manifest(object):
def __init__(self, path, data):
self.path = path
self.parse(data)
def parse(self, data):
self.provider = data['provider']
self.volume = data['volume']
self.system = data['system']
self.plugins = data['plugins']
def validate(self):
pass
def load_plugins(self):
self.loaded_plugins = []
for modname in self.plugins.keys():
if self.plugins[modname]['enabled']:
plugin = __import__('plugins.%s' % modname, fromlist=['plugins'])
self.loaded_plugins.append(plugin)