From 45dea2b8aa1962f7b01524f3a615e130c0117a49 Mon Sep 17 00:00:00 2001 From: William Ballenthin Date: Mon, 22 Jun 2020 07:40:55 -0600 Subject: [PATCH] scripts: migrate rules: respect nursery status --- scripts/migrate-rules.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/migrate-rules.py b/scripts/migrate-rules.py index bfb5074e..d00a0db2 100644 --- a/scripts/migrate-rules.py +++ b/scripts/migrate-rules.py @@ -47,6 +47,9 @@ def read_rules(rule_directory): rule = capa.rules.Rule.from_yaml_file(path) rules[rule.name] = rule + + if "nursery" in path: + rule.meta["nursery"] = True return rules @@ -109,12 +112,6 @@ def main(argv=None): rule.meta["mbc"] = [tag] for rule in rules.values(): - namespace = rule.meta.get("namespace") - - if not namespace: - logger.info("%s has no proposed namespace, skipping", rule.name) - continue - filename = rule.name filename = filename.lower() filename = filename.replace(" ", "-") @@ -125,7 +122,12 @@ def main(argv=None): filename = filename + ".yml" try: - directory = os.path.join(args.destination, namespace) + if rule.meta.get("nursery"): + directory = os.path.join(args.destination, "nursery") + # this isn't meant to be written into the rule + del rule.meta["nursery"] + else: + directory = os.path.join(args.destination, rule.meta.get("namespace")) os.makedirs(directory) except OSError: pass