docstrings / formatting
This commit is contained in:
@@ -20,12 +20,21 @@ class CacheUtils:
|
||||
"""
|
||||
|
||||
def __init__(self) -> None:
|
||||
"""Initialize CacheUtils."""
|
||||
self.lyrics_db_path: LiteralString = os.path.join(
|
||||
"/usr/local/share", "sqlite_dbs", "cached_lyrics.db"
|
||||
)
|
||||
|
||||
async def check_typeahead(self, query: str) -> Optional[list[str]]:
|
||||
"""Lyric Search Typeahead DB Handler"""
|
||||
"""
|
||||
Check typeahead suggestions for lyric search.
|
||||
|
||||
Args:
|
||||
query: The search query.
|
||||
|
||||
Returns:
|
||||
List of matching artist-song strings, or None if query is empty.
|
||||
"""
|
||||
if not query:
|
||||
return None
|
||||
async with sqlite3.connect(self.lyrics_db_path, timeout=1) as _db:
|
||||
@@ -46,6 +55,7 @@ class LyricSearch(FastAPI):
|
||||
"""
|
||||
|
||||
def __init__(self, app: FastAPI, util, constants) -> None:
|
||||
"""Initialize LyricSearch endpoints."""
|
||||
self.app: FastAPI = app
|
||||
self.util = util
|
||||
self.constants = constants
|
||||
@@ -92,8 +102,13 @@ class LyricSearch(FastAPI):
|
||||
|
||||
async def typeahead_handler(self, data: ValidTypeAheadRequest) -> JSONResponse:
|
||||
"""
|
||||
Lyric search typeahead handler
|
||||
- **query**: Typeahead query
|
||||
Handle lyric search typeahead requests.
|
||||
|
||||
Parameters:
|
||||
- **data** (ValidTypeAheadRequest): Request containing the query.
|
||||
|
||||
Returns:
|
||||
- **JSONResponse**: Typeahead suggestions or error.
|
||||
"""
|
||||
if not isinstance(data.query, str):
|
||||
return JSONResponse(
|
||||
@@ -112,15 +127,13 @@ class LyricSearch(FastAPI):
|
||||
|
||||
async def lyric_search_handler(self, data: ValidLyricRequest) -> JSONResponse:
|
||||
"""
|
||||
Search for lyrics
|
||||
- **a**: artist
|
||||
- **s**: song
|
||||
- **t**: track (artist and song combined) [used only if a & s are not used]
|
||||
- **extra**: include extra details in response [optional, default: false]
|
||||
- **lrc**: Request LRCs?
|
||||
- **sub**: text to search within lyrics, if found lyrics will begin at found verse [optional, default: none]
|
||||
- **src**: the script/utility which initiated the request
|
||||
- **excluded_sources**: sources to exclude [optional, default: none]
|
||||
Search for lyrics.
|
||||
|
||||
Parameters:
|
||||
- **data** (ValidLyricRequest): Request containing artist, song, and other parameters.
|
||||
|
||||
Returns:
|
||||
- **JSONResponse**: Lyrics data or error.
|
||||
"""
|
||||
if (not data.a or not data.s) and not data.t or not data.src:
|
||||
raise HTTPException(detail="Invalid request", status_code=500)
|
||||
|
Reference in New Issue
Block a user