api/lyric_search_new/constructors.py

23 lines
571 B
Python
Raw Normal View History

2025-01-13 20:47:39 -05:00
#!/usr/bin/env python3.12
from dataclasses import dataclass, asdict
@dataclass
class LyricsResult:
2025-01-17 07:50:21 -05:00
"""Class for returned Lyrics Results
@artist: returned artist
@song: returned song
@src: source result was fetched from
@lyrics: str if plain lyrics, list for lrc
@time: time taken to retrieve lyrics from source
"""
2025-01-13 20:47:39 -05:00
artist: str
song: str
src: str
2025-01-17 07:50:21 -05:00
lyrics: str|list
2025-01-17 06:41:56 -05:00
confidence: int
2025-01-15 20:17:49 -05:00
time: float = 0.00
2025-01-13 20:47:39 -05:00
2025-01-17 07:48:29 -05:00
def todict(self):
2025-01-13 20:47:39 -05:00
"""Return as dict"""
2025-01-17 07:48:29 -05:00
return {k: type(v)(v) for k, v in asdict(self).items()}