MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / install

Method install

masfactory/visualizer/runtime_hooks.py:308–372  ·  view source on GitHub ↗

Register hooks using `BaseGraph.hook_register(recursion=True)`.

(self, root_graph: object)

Source from the content-addressed store, hash-verified

306 return
307
308 def install(self, root_graph: object) -> None:
309 """
310 Register hooks using `BaseGraph.hook_register(recursion=True)`.
311 """
312 try:
313 from masfactory.core.node import Node
314 from masfactory.core.edge import Edge
315 except Exception:
316 return
317
318 def _exclude_root(obj: object) -> bool:
319 return obj is not root_graph
320
321 # Exclude root graph itself from node events.
322 root_graph.hook_register(
323 Node.Hook.FORWARD.BEFORE,
324 self.cb_before_forward,
325 recursion=True,
326 target_type=Node,
327 target_filter=_exclude_root,
328 )
329 root_graph.hook_register(
330 Node.Hook.FORWARD.AFTER,
331 self.cb_after_forward,
332 recursion=True,
333 target_type=Node,
334 target_filter=_exclude_root,
335 )
336 root_graph.hook_register(
337 Node.Hook.FORWARD.ERROR,
338 self.cb_error_forward,
339 recursion=True,
340 target_type=Node,
341 target_filter=_exclude_root,
342 )
343
344 # Include BaseGraph nodes for environment scope mapping.
345 root_graph.hook_register(
346 Node.Hook.EXECUTE.BEFORE,
347 self.cb_before_execute,
348 recursion=True,
349 target_type=Node,
350 )
351 root_graph.hook_register(
352 Node.Hook.EXECUTE.AFTER,
353 self.cb_after_execute,
354 recursion=True,
355 target_type=Node,
356 )
357
358 root_graph.hook_register(
359 Node.Hook.BUILD.AFTER,
360 self.cb_after_build,
361 recursion=True,
362 target_type=Node,
363 target_filter=_exclude_root,
364 )
365

Callers 1

Calls 1

hook_registerMethod · 0.45

Tested by

no test coverage detected