diff options
Diffstat (limited to 'ick2-controller')
-rw-r--r-- | ick2-controller | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ick2-controller b/ick2-controller new file mode 100644 index 0000000..91b593b --- /dev/null +++ b/ick2-controller @@ -0,0 +1,38 @@ +#!/usr/bin/env python2 + + +import argparse +import logging +import sys + +import yaml + +import ick2lib + + +def load_projects(filename): + with open(filename) as f: + projects_config = yaml.safe_load(f) + + projects = {} + for name, config in projects_config['projects'].items(): + p = ick2lib.Project(name) + projects[name] = p + for shell in config['shell_steps']: + p.add_build_step(shell) + + return projects + + +parser = argparse.ArgumentParser() +parser.add_argument('--projects', action='store', dest='projects') +parser.add_argument('--log', action='store', dest='log', default='/dev/null') +results = parser.parse_args() + +logging.basicConfig(filename=results.log, level=logging.DEBUG) + +logging.info('ick2-controller starts') +projects = load_projects(results.projects) +service = ick2lib.ApiService() +service.set_projects(projects) +application = service.get_uwsgi_app() |