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

Function template_defaults_for

masfactory/core/node_template.py:97–121  ·  view source on GitHub ↗

Provide fill-missing defaults for NodeTemplates matched by the selector. Matching is performed on declarations (node name + node class), so `SelectionTarget.obj` is always None.

(
    *,
    selector: Selector | None = None,
    path_filter: str | None = None,
    type_filter=None,
    name_filter=None,
    predicate: Callable[[SelectionTarget], bool] | None = None,
    **defaults: Any,
)

Source from the content-addressed store, hash-verified

95
96@contextmanager
97def template_defaults_for(
98 *,
99 selector: Selector | None = None,
100 path_filter: str | None = None,
101 type_filter=None,
102 name_filter=None,
103 predicate: Callable[[SelectionTarget], bool] | None = None,
104 **defaults: Any,
105):
106 """
107 Provide fill-missing defaults for NodeTemplates matched by the selector.
108
109 Matching is performed on declarations (node name + node class), so `SelectionTarget.obj` is always None.
110 """
111
112 sel = build_selector(
113 selector=selector, type_filter=type_filter, name_filter=name_filter, predicate=predicate
114 )
115 pf = parse_path_filter(path_filter) if path_filter is not None else None
116 previous = _TEMPLATE_DEFAULTS_RULES_CVAR.get()
117 token = _TEMPLATE_DEFAULTS_RULES_CVAR.set(previous + ((sel, pf, dict(defaults)),))
118 try:
119 yield
120 finally:
121 _TEMPLATE_DEFAULTS_RULES_CVAR.reset(token)
122
123
124@contextmanager

Callers 2

mainFunction · 0.90
mainFunction · 0.90

Calls 3

build_selectorFunction · 0.90
parse_path_filterFunction · 0.90
resetMethod · 0.45

Tested by

no test coverage detected