Пример #1
0
    def iter_event_handlers(
        self,
        resource: resources_.Resource,
        event: bodies.Event,
    ) -> Iterator[registries.ResourceHandler]:
        warnings.warn(
            "SimpleRegistry.iter_event_handlers() is deprecated; use "
            "ResourceWatchingRegistry.iter_handlers().", DeprecationWarning)

        for handler in self._handlers:
            if registries.match(handler=handler,
                                body=event['object'],
                                ignore_fields=True):
                yield handler
Пример #2
0
    def iter_event_handlers(
            self,
            resource: resources_.Resource,
            event: bodies.RawEvent,
    ) -> Iterator[handlers.ResourceWatchingHandler]:
        warnings.warn("SimpleRegistry.iter_event_handlers() is deprecated; use "
                      "ResourceWatchingRegistry.iter_handlers().", DeprecationWarning)

        cause = _create_watching_cause(resource, event)
        for handler in self._handlers:
            if not isinstance(handler, handlers.ResourceWatchingHandler):
                pass
            elif registries.match(handler=handler, cause=cause, ignore_fields=True):
                yield handler
Пример #3
0
    def iter_event_handlers(
        self,
        resource: resources_.Resource,
        event: bodies.RawEvent,
    ) -> Iterator[handlers.ResourceWatchingHandler]:
        warnings.warn(
            "SimpleRegistry.iter_event_handlers() is deprecated; "
            "please cease using the internal registries directly.",
            DeprecationWarning)

        cause = _create_watching_cause(resource, event)
        for handler in self._handlers:
            if not isinstance(handler, handlers.ResourceWatchingHandler):
                pass
            elif registries.match(handler=handler, cause=cause):
                yield handler
Пример #4
0
    def iter_cause_handlers(
        self,
        cause: causation.ResourceChangingCause,
    ) -> Iterator[handlers.ResourceChangingHandler]:
        warnings.warn(
            "SimpleRegistry.iter_cause_handlers() is deprecated; use "
            "ResourceChangingRegistry.iter_handlers().", DeprecationWarning)

        for handler in self._handlers:
            if not isinstance(handler, handlers.ResourceChangingHandler):
                pass
            elif handler.reason is None or handler.reason == cause.reason:
                if handler.initial and not cause.initial:
                    pass  # ignore initial handlers in non-initial causes.
                elif registries.match(handler=handler, cause=cause):
                    yield handler
Пример #5
0
    def iter_cause_handlers(
        self,
        cause: causation.ResourceChangingCause,
    ) -> Iterator[handlers.ResourceHandler]:
        warnings.warn(
            "SimpleRegistry.iter_cause_handlers() is deprecated; use "
            "ResourceChangingRegistry.iter_handlers().", DeprecationWarning)

        changed_fields = frozenset(field
                                   for _, field, _, _ in cause.diff or [])
        for handler in self._handlers:
            if handler.reason is None or handler.reason == cause.reason:
                if handler.initial and not cause.initial:
                    pass  # ignore initial handlers in non-initial causes.
                elif registries.match(handler=handler,
                                      cause=cause,
                                      changed_fields=changed_fields):
                    yield handler