This commit is contained in:
2026-03-25 05:58:37 +01:00
commit 72d06e0aa9
22 changed files with 2363 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
from abc import ABC, abstractmethod
from typing import Optional
from lrcfetch.models import TrackMeta, LyricResult
class BaseFetcher(ABC):
@property
@abstractmethod
def source_name(self) -> str:
"""Name of the fetcher source."""
pass
@abstractmethod
def fetch(self, track: TrackMeta) -> Optional[LyricResult]:
"""Fetch lyrics for the given track. Returns None if unable to fetch."""
pass