Ejemplo n.º 1
0
    def _load_handlers(self, handler_config_path, **kwargs):
        base_path = os.path.expanduser(handler_config_path)
        conf_files = glob.glob(os.path.join(base_path, '*.conf'))
        logger.debug("Loading handlers from %s", handler_config_path)
        for f in conf_files:
            handler_name = os.path.basename(f)[:-5]
            # We could eventually have the handlers get loaded everytime and
            # update them if their config has changed (via config_version
            # below).  For now lets not get that tricky.
            if handler_name in self._handlers:
                if not kwargs.get('force_load_handlers', False):
                    logger.debug("Handler %s already loaded, skipping.",
                                 handler_name)
                    continue
            conf_version, conf = yaml_config.load_config(f)
            enabled = conf.pop('enabled', False)
            if not enabled:
                logger.debug("Handler %s 'enabled' is not set to true. "
                             "Skipping.", handler_name)
                continue
            cls_string = conf.pop('handler_class')
            logger.debug('Initializing handler %s.', handler_name)
            try:
                handler_cls = load_object_from_string(cls_string)
                self._handlers[handler_name] = handler_cls(conf)
            except Exception as e:
                logutil.log_exception("Skipping handler %s due to "
                    "unhandled exception:" % (handler_name), logger)
                continue

        if not self._handlers:
            logger.error("No handlers loaded.  Exiting.")
            sys.exit(1)
Ejemplo n.º 2
0
 def handle_result(self, result, **kwargs):
     previous_state = self.get_state(result.id)
     for handler_name, handler in self._handlers.iteritems():
         try:
             handler._process(result, previous_state)
         except Exception:
             logutil.log_exception("Unhandled %s handler "
                                   "exception:" % (handler_name,), logger)
             continue
     try:
         self.save_state(result.id, result, previous_state)
     except OutOfDateState:
         pass
Ejemplo n.º 3
0
 def _load_handler(self, handler_name, config, **kwargs):
     enabled = config.pop('enabled', False)
     if not enabled:
         logger.debug("Handler %s 'enabled' is not set to true. "
                      "Skipping.", handler_name)
         return None
     cls_string = config.pop('handler_class')
     logger.debug('Initializing handler %s.', handler_name)
     try:
         handler_cls = load_object_from_string(cls_string)
         return handler_cls(config)
     except Exception as e:
         logutil.log_exception("Skipping handler %s due to "
             "unhandled exception:" % (handler_name), logger)
         return None
Ejemplo n.º 4
0
 def handle_result(self, result, **kwargs):
     previous_state = self.get_state(result.id)
     for handler_name, handler in self.handlers.iteritems():
         try:
             # We do suppression AFTER filters, so we have to
             # pass Reactor to the handler to do that for us
             handler.process(result, previous_state, self.is_suppressed)
         except Exception:
             logutil.log_exception("Unhandled %s handler "
                                   "exception:" % (handler_name,), logger)
             continue
     try:
         self.save_state(result.id, result, previous_state)
     except OutOfDateState:
         pass
Ejemplo n.º 5
0
 def handle_result(self, result, **kwargs):
     previous_state = self.get_state(result.id)
     for handler_name, handler in self.handlers.iteritems():
         try:
             # We do suppression AFTER filters, so we have to
             # pass Reactor to the handler to do that for us
             handler.process(result, previous_state, self.is_suppressed)
         except Exception:
             logutil.log_exception(
                 "Unhandled %s handler "
                 "exception:" % (handler_name, ), logger)
             continue
     try:
         self.save_state(result.id, result, previous_state)
     except OutOfDateState:
         pass
Ejemplo n.º 6
0
    def load_handler(self, handler_name, config, **kwargs):
        enabled = config.pop('enabled', False)

        if not enabled:
            logger.debug(
                "Handler %s 'enabled' is not set to true. "
                "Skipping.", handler_name)
            return None
        cls_string = config.pop('handler_class')
        logger.debug('Initializing handler %s.', handler_name)
        try:
            handler_cls = load_object_from_string(cls_string)
            return handler_cls(config)
        except Exception:
            logutil.log_exception(
                "Skipping handler %s due to "
                "unhandled exception:" % handler_name, logger)
            return None