MCPcopy Index your code
hub / github.com/StackStorm/st2 / analyze

Method analyze

tools/st2-analyze-links.py:82–104  ·  view source on GitHub ↗
(self, root_action_ref, link_tigger_ref)

Source from the content-addressed store, hash-verified

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

Callers 1

mainFunction · 0.80

Calls 5

_do_analyzeMethod · 0.95
RuleLinkClass · 0.85
queryMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected