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

Function template_overrides_for

masfactory/core/node_template.py:125–149  ·  view source on GitHub ↗

Provide force overrides 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,
    **overrides: Any,
)

Source from the content-addressed store, hash-verified

123
124@contextmanager
125def template_overrides_for(
126 *,
127 selector: Selector | None = None,
128 path_filter: str | None = None,
129 type_filter=None,
130 name_filter=None,
131 predicate: Callable[[SelectionTarget], bool] | None = None,
132 **overrides: Any,
133):
134 """
135 Provide force overrides for NodeTemplates matched by the selector.
136
137 Matching is performed on declarations (node name + node class), so `SelectionTarget.obj` is always None.
138 """
139
140 sel = build_selector(
141 selector=selector, type_filter=type_filter, name_filter=name_filter, predicate=predicate
142 )
143 pf = parse_path_filter(path_filter) if path_filter is not None else None
144 previous = _TEMPLATE_OVERRIDES_RULES_CVAR.get()
145 token = _TEMPLATE_OVERRIDES_RULES_CVAR.set(previous + ((sel, pf, dict(overrides)),))
146 try:
147 yield
148 finally:
149 _TEMPLATE_OVERRIDES_RULES_CVAR.reset(token)
150
151
152@lru_cache(maxsize=None)

Callers

nothing calls this directly

Calls 3

build_selectorFunction · 0.90
parse_path_filterFunction · 0.90
resetMethod · 0.45

Tested by

no test coverage detected