From c2aa498beb14cf0a61066fe1e7df833a16db5733 Mon Sep 17 00:00:00 2001 From: Monsyne Dragon Date: Thu, 4 Sep 2014 18:05:19 +0000 Subject: [PATCH] Move yagi handler into winchester codebase. --- setup.py | 4 +++- winchester/yagi_handler.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 winchester/yagi_handler.py diff --git a/setup.py b/setup.py index bb40033..d1922ef 100644 --- a/setup.py +++ b/setup.py @@ -31,6 +31,8 @@ setup( scripts=[], long_description=read('README.md'), install_requires=install_reqs, - + entry_points = { + 'console_scripts': ['pipeline_worker=winchester.worker:main'], + }, zip_safe=False ) diff --git a/winchester/yagi_handler.py b/winchester/yagi_handler.py new file mode 100644 index 0000000..a4a541e --- /dev/null +++ b/winchester/yagi_handler.py @@ -0,0 +1,30 @@ +import logging + +from yagi.handler import BaseHandler +import yagi.config + +from winchester.trigger_manager import TriggerManager +from winchester.config import ConfigManager + + +logger = logging.getLogger(__name__) + + +with yagi.config.defaults_for('winchester') as default: + default("config_file", "winchester.yaml") + + +class WinchesterHandler(BaseHandler): + CONFIG_SECTION = "winchester" + AUTO_ACK = True + + def __init__(self, app=None, queue_name=None): + super(WinchesterHandler, self).__init__(app=app, queue_name=queue_name) + conf_file = self.config_get("config_file") + config = ConfigManager.load_config_file(conf_file) + self.trigger_manager = TriggerManager(config) + + def handle_messages(self, messages, env): + for notification in self.iterate_payloads(messages, env): + self.trigger_manager.add_notification(notification) +