Source code for scripts

"""
Module containing script entry points.

:author: Martin Norbury (martin.norbury@gmail.com)
"""
import argparse
import logging

from controller import Controller
from datasource import JenkinsDataSource
import outputsource
import sys


[docs]def monitor_jenkins(arguments=None): arguments = arguments if arguments else sys.argv parser = argparse.ArgumentParser(description="Jenkins build monitor.") parser.add_argument('-build_host', default='buildsba:8085') parser.add_argument('-loop_period', type=float, default=0.1) parser.add_argument('-decay_period', type=float, default=60) parser.add_argument('-log_level', default='info') arguments = parser.parse_args(arguments[1:]) logging.basicConfig(level=(getattr(logging, arguments.log_level.upper())), format='%(asctime)-15s %(message)s') _run_monitor_jenkins(arguments.build_host, arguments.loop_period, arguments.decay_period,) return
def _run_monitor_jenkins(build_host, loop_period, decay_period): controller = _create_controller(build_host, loop_period, decay_period) controller.start() controller.join() return def _create_controller(build_host, loop_period, decay_period): input_source = JenkinsDataSource(build_host, loop_period, decay_period) controller = Controller(input_source, loop_period) return controller