18 lines
579 B
Python
18 lines
579 B
Python
from django.conf import settings
|
|
|
|
from apps.providers.adapters.mvp_provider import MvpDemoProviderAdapter
|
|
from apps.providers.exceptions import ProviderNotFoundError
|
|
|
|
|
|
PROVIDER_REGISTRY = {
|
|
MvpDemoProviderAdapter.namespace: MvpDemoProviderAdapter,
|
|
}
|
|
|
|
|
|
def get_provider(namespace: str | None = None):
|
|
provider_namespace = namespace or settings.PROVIDER_DEFAULT_NAMESPACE
|
|
provider_cls = PROVIDER_REGISTRY.get(provider_namespace)
|
|
if not provider_cls:
|
|
raise ProviderNotFoundError(f"Unknown provider namespace: {provider_namespace}")
|
|
return provider_cls()
|