def register( self, fn: callbacks.ResourceWatchingFn, *, id: Optional[str] = None, errors: Optional[handlers.ErrorsMode] = None, timeout: Optional[float] = None, retries: Optional[int] = None, backoff: Optional[float] = None, cooldown: Optional[float] = None, # deprecated, use `backoff` labels: Optional[filters.MetaFilter] = None, annotations: Optional[filters.MetaFilter] = None, when: Optional[callbacks.WhenFilterFn] = None, ) -> callbacks.ResourceWatchingFn: warnings.warn( "registry.register() is deprecated; " "use @kopf.on... decorators with registry= kwarg.", DeprecationWarning) real_id = generate_id(fn=fn, id=id) handler = handlers.ResourceWatchingHandler( id=real_id, fn=fn, errors=errors, timeout=timeout, retries=retries, backoff=backoff, cooldown=cooldown, labels=labels, annotations=annotations, when=when, ) self.append(handler) return fn
def decorator( # lgtm[py/similar-function] fn: callbacks.ResourceWatchingFn, ) -> callbacks.ResourceWatchingFn: _warn_deprecated_signatures(fn) _warn_deprecated_filters(labels, annotations) _warn_conflicting_values(field, value) real_registry = registry if registry is not None else registries.get_default_registry( ) real_field = dicts.parse_field( field) or None # to not store tuple() as a no-field case. real_id = registries.generate_id(fn=fn, id=id) selector = references.Selector(group, version, plural) handler = handlers.ResourceWatchingHandler( fn=fn, id=real_id, errors=None, timeout=None, retries=None, backoff=None, cooldown=None, selector=selector, labels=labels, annotations=annotations, when=when, field=real_field, value=value, ) real_registry.resource_watching_handlers.append(handler) return fn
def decorator( # lgtm[py/similar-function] fn: callbacks.ResourceWatchingFn, ) -> callbacks.ResourceWatchingFn: _warn_conflicting_values(field, value) _verify_filters(labels, annotations) real_registry = registry if registry is not None else registries.get_default_registry() real_field = dicts.parse_field(field) or None # to not store tuple() as a no-field case. real_id = registries.generate_id(fn=fn, id=id, suffix=".".join(real_field or [])) selector = references.Selector( __group_or_groupversion_or_name, __version_or_name, __name, group=group, version=version, kind=kind, plural=plural, singular=singular, shortcut=shortcut, category=category, ) handler = handlers.ResourceWatchingHandler( fn=fn, id=real_id, param=param, errors=None, timeout=None, retries=None, backoff=None, selector=selector, labels=labels, annotations=annotations, when=when, field=real_field, value=value, ) real_registry._resource_watching.append(handler) return fn
def decorator( fn: callbacks.ResourceWatchingFn) -> callbacks.ResourceWatchingFn: _warn_deprecated_signatures(fn) _warn_deprecated_filters(labels, annotations) real_registry = registry if registry is not None else registries.get_default_registry( ) real_resource = resources.Resource(group, version, plural) real_id = registries.generate_id(fn=fn, id=id) handler = handlers.ResourceWatchingHandler( fn=fn, id=real_id, errors=None, timeout=None, retries=None, backoff=None, cooldown=None, labels=labels, annotations=annotations, when=when, ) real_registry.resource_watching_handlers[real_resource].append(handler) return fn