* feat: lrclib and genius providers * revert `prepend_header` to true * change providers order --------- Co-authored-by: mrsobakin <68982655+mrsobakin@users.noreply.github.com>
20 lines
547 B
Python
20 lines
547 B
Python
from lrc_dl.core import AbstractProvider
|
|
|
|
|
|
class Registry:
|
|
providers: dict[str, type[AbstractProvider]] = {}
|
|
|
|
@classmethod
|
|
def get_synced_providers(cls) -> dict[str, type[AbstractProvider]]:
|
|
# TODO: stub
|
|
return dict(cls.providers)
|
|
|
|
@classmethod
|
|
def register_provider(cls, provider_class: type[AbstractProvider]) -> None:
|
|
cls.providers[provider_class.name] = provider_class
|
|
|
|
|
|
def lyrics_provider(cls: type[AbstractProvider]) -> type[AbstractProvider]:
|
|
Registry.register_provider(cls)
|
|
|
|
return cls
|