lrc-dl/lrc_dl/registry.py
2024-11-11 05:25:48 +03:00

20 lines
551 B
Python

from lrc_dl.core import AbstractProvider
class Registry:
providers: dict[str, type[AbstractProvider]] = {}
@staticmethod
def get_synced_providers() -> dict[str, type[AbstractProvider]]:
# TODO: stub
return dict(Registry.providers)
@staticmethod
def register_provider(provider_class: type[AbstractProvider]) -> None:
Registry.providers[provider_class.name] = provider_class
def lyrics_provider(cls: type[AbstractProvider]) -> type[AbstractProvider]:
Registry.register_provider(cls)
return cls