(self, root_action_ref, link_tigger_ref)
| 80 | self._rules = {} |
| 81 | |
| 82 | def analyze(self, root_action_ref, link_tigger_ref): |
| 83 | rules = Rule.query(trigger=link_tigger_ref, enabled=True) |
| 84 | # pprint.pprint([rule.ref for rule in rules]) |
| 85 | for rule in rules: |
| 86 | source_action_ref = self._get_source_action_ref(rule) |
| 87 | if not source_action_ref: |
| 88 | print("No source_action_ref for rule %s" % rule.ref) |
| 89 | continue |
| 90 | rule_links = self._rules.get(source_action_ref, None) |
| 91 | if rule_links is None: |
| 92 | rule_links = [] |
| 93 | self._rules[source_action_ref] = rule_links |
| 94 | rule_links.append( |
| 95 | RuleLink( |
| 96 | source_action_ref=source_action_ref, |
| 97 | rule_ref=rule.ref, |
| 98 | dest_action_ref=rule.action.ref, |
| 99 | ) |
| 100 | ) |
| 101 | analyzed = self._do_analyze(action_ref=root_action_ref) |
| 102 | for (depth, rule_link) in analyzed: |
| 103 | print("%s%s" % (" " * depth, rule_link)) |
| 104 | return analyzed |
| 105 | |
| 106 | def _get_source_action_ref(self, rule): |
| 107 | criteria = rule.criteria |
no test coverage detected