Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
Archivo: on.py Proyecto: zer0n1/kopf
 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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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