Source code for faust.fixups

"""Transport registry."""

from typing import Iterator, Type

from mode.utils.imports import FactoryMapping

from faust.types import AppT, FixupT

__all__ = ["by_name", "by_url", "fixups"]

FIXUPS: FactoryMapping[Type[FixupT]] = FactoryMapping(
    django="faust.fixups.django:Fixup",
)
FIXUPS.include_setuptools_namespace("faust.fixups")
by_name = FIXUPS.by_name
by_url = FIXUPS.by_url


[docs]def fixups(app: AppT) -> Iterator[FixupT]: """Iterate over enabled fixups. Fixups are installed by setuptools, using the 'faust.fixups' namespace. Fixups modify the Faust library to work with frameworks such as Django. """ for Fixup in FIXUPS.iterate(): fixup = Fixup(app) if fixup.enabled(): yield fixup