def __get_enabled_rules(all_rules: List[Rule], config: Config): enabled_rules = [] for rule in all_rules: if rule.id not in config.get_disabled_rule_ids(): rule_config = config.get_config_for_rule_id(rule.id) if rule_config: rule.severity = rule_config.severity else: rule.severity = Severity.ERROR enabled_rules.append(rule) return enabled_rules
def update(cls, config: Config) -> Config: all_rules = rules_in_path(olivertwist.__path__[0]) disabled = config.get_disabled_rule_ids() choices = [{ "name": rule.name, "checked": rule.id not in disabled, } for rule in sorted(all_rules, key=attrgetter("name"))] questions = [{ "type": "checkbox", "name": "rules", "message": "Select rules to enable", "choices": choices, "validate": cls.__validate, }] answers = prompt(questions) return Config([ RuleConfig(rule.id, False) for rule in all_rules if rule.name not in answers["rules"] ])