lrc-dl/lrc_dl/registry.py
Arthur K. bad4a355e8
feat: add lrclib and genius providers (#5)
* feat: lrclib and genius providers

* revert `prepend_header` to true

* change providers order

---------

Co-authored-by: mrsobakin <68982655+mrsobakin@users.noreply.github.com>
2025-04-02 01:37:19 +03:00

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