From a92a00f452e57a532436e71e55a27132ff4fed7f Mon Sep 17 00:00:00 2001 From: Maxim Banaev Date: Thu, 3 Oct 2019 18:18:01 +0300 Subject: [PATCH] Better handling rules when creating new rule file --- cidr_freeze_parser.py | 17 ++--------------- freeze_rules/__init__.py | 12 +++++++++++- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/cidr_freeze_parser.py b/cidr_freeze_parser.py index 70efc32..e98a033 100755 --- a/cidr_freeze_parser.py +++ b/cidr_freeze_parser.py @@ -7,20 +7,7 @@ from dump_file import parse_dump_file from rules import process_custom - -import freeze_rules - -FRAME_SEQ_TO_TICKET = \ - freeze_rules.fixed.get_rules() + \ - freeze_rules.actions.get_rules() + \ - freeze_rules.commit.get_rules() + \ - freeze_rules.lazyReparse.get_rules() + \ - freeze_rules.misc.get_rules() + \ - freeze_rules.plugin.get_rules() + \ - freeze_rules.resolve.get_rules() + \ - freeze_rules.clangd.get_rules() + \ - freeze_rules.debugger.get_rules() + \ - freeze_rules.tests.get_rules() +from freeze_rules import get_rules def print_usage(): @@ -59,7 +46,7 @@ def match_stack(stack): """ if stack is not None: messages = set() - for rule in FRAME_SEQ_TO_TICKET: + for rule in get_rules(): message = rule.is_matched(stack) if message: messages.add(message) diff --git a/freeze_rules/__init__.py b/freeze_rules/__init__.py index 52476c0..bcdbec0 100644 --- a/freeze_rules/__init__.py +++ b/freeze_rules/__init__.py @@ -1,3 +1,6 @@ +import pkgutil +import os + import freeze_rules.actions import freeze_rules.commit import freeze_rules.lazyReparse @@ -8,4 +11,11 @@ import freeze_rules.clangd import freeze_rules.debugger -import freeze_rules.fixed \ No newline at end of file +import freeze_rules.fixed + + +def get_rules(): + rules = [] + for (i, name, _) in pkgutil.iter_modules([os.path.dirname(__file__)]): + rules += eval(name + '.get_rules()') + return rules