def _register_rules_from_pack(self, pack, rules): registered_count = 0 for rule in rules: LOG.debug('Loading rule from %s.', rule) try: content = self._meta_loader.load(rule) rule_api = RuleAPI(**content) rule_db = RuleAPI.to_model(rule_api) try: rule_db.id = Rule.get_by_name(rule_api.name).id except ValueError: LOG.debug('Rule %s not found. Creating new one.', rule) try: rule_db = Rule.add_or_update(rule_db) extra = {'rule_db': rule_db} LOG.audit('Rule updated. Rule %s from %s.', rule_db, rule, extra=extra) except Exception: LOG.exception('Failed to create rule %s.', rule_api.name) except: LOG.exception('Failed registering rule from %s.', rule) else: registered_count += 1 return registered_count
def __get_by_name(rule_name): try: return [Rule.get_by_name(rule_name)] except ValueError as e: LOG.debug( 'Database lookup for name="%s" resulted in exception : %s.', rule_name, e) return []
def _register_rules_from_pack(pack, rules): for rule in rules: LOG.debug('Loading rule from %s.', rule) try: with open(rule, 'r') as fd: try: content = json.load(fd) except ValueError: LOG.exception('Unable to load rule from %s.', rule) continue rule_api = RuleAPI(**content) rule_db = RuleAPI.to_model(rule_api) try: rule_db.id = Rule.get_by_name(rule_api.name).id except ValueError: LOG.info('Rule %s not found. Creating new one.', rule) try: rule_db = Rule.add_or_update(rule_db) LOG.audit('Rule updated. Rule %s from %s.', rule_db, rule) except Exception: LOG.exception('Failed to create rule %s.', rule_api.name) except: LOG.exception('Failed registering rule from %s.', rule)
def __get_by_name(rule_name): try: return [Rule.get_by_name(rule_name)] except ValueError as e: LOG.debug('Database lookup for name="%s" resulted in exception : %s.', rule_name, e) return []