Gregorfun's picture
Initial commit
32c5da4
from __future__ import annotations
from .a1111_provider import A1111Provider
from .diffusion_provider import DiffusionProvider
from .dummy_provider import DummyProvider
from .interface import IImageProvider
from .localai_provider import LocalAIProvider
from .zimageturbo_provider import ZImageTurboProvider
class ProviderRegistry:
def __init__(self) -> None:
self._providers: dict[str, IImageProvider] = {
"dummy": DummyProvider(),
"localai": LocalAIProvider(),
"diffusion": DiffusionProvider(),
"a1111": A1111Provider(),
"zimageturbo": ZImageTurboProvider(),
}
def get(self, provider_id: str) -> IImageProvider:
provider = self._providers.get(provider_id)
if provider is None:
raise KeyError(f"Unknown provider: {provider_id}")
return provider
def list(self) -> list[IImageProvider]:
return list(self._providers.values())