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,
)
| 123 | |
| 124 | @contextmanager |
| 125 | def 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) |
nothing calls this directly
no test coverage detected