mirror of
https://github.com/oskvr37/tiddl.git
synced 2026-06-13 04:05:08 +03:00
✨ Show audio type in search command
This commit is contained in:
@@ -4,12 +4,11 @@ from typing_extensions import Annotated
|
|||||||
from tiddl.cli.ctx import Context
|
from tiddl.cli.ctx import Context
|
||||||
from tiddl.cli.utils.resource import TidalResource
|
from tiddl.cli.utils.resource import TidalResource
|
||||||
from tiddl.core.api.models.base import Search, SearchArtist
|
from tiddl.core.api.models.base import Search, SearchArtist
|
||||||
from tiddl.core.api.models.resources import Track, Album, Playlist
|
from tiddl.core.api.models.resources import Track, Album, Playlist, Video
|
||||||
|
|
||||||
from rich.panel import Panel
|
from rich.panel import Panel
|
||||||
from rich.table import Table
|
from rich.table import Table
|
||||||
|
|
||||||
|
|
||||||
search_subcommand = typer.Typer()
|
search_subcommand = typer.Typer()
|
||||||
|
|
||||||
|
|
||||||
@@ -120,15 +119,16 @@ def search(
|
|||||||
|
|
||||||
|
|
||||||
def _display_name(item) -> str:
|
def _display_name(item) -> str:
|
||||||
# if searchArtist, else if track/album, else playlist
|
|
||||||
if isinstance(item, SearchArtist):
|
if isinstance(item, SearchArtist):
|
||||||
return item.name
|
return item.name
|
||||||
|
elif isinstance(item, Video):
|
||||||
|
return f"{item.artist or item.artists[0].name or ""} - {item.title}"
|
||||||
elif isinstance(item, (Track, Album)):
|
elif isinstance(item, (Track, Album)):
|
||||||
# Try to format as "Main Artist - Title"
|
return f"{item.artist or item.artists[0].name or ""} - {item.title} [blue][{', '.join(item.audioModes)}][/]"
|
||||||
main_artist = item.artists[0] if item.artists else None
|
elif isinstance(item, (Playlist)):
|
||||||
return f"{main_artist.name} - {item.title}" if main_artist else f"{item.title}"
|
|
||||||
else: # Playlist
|
|
||||||
return item.title
|
return item.title
|
||||||
|
else:
|
||||||
|
raise ValueError("Unknown item type")
|
||||||
|
|
||||||
|
|
||||||
def _display_id(item) -> str:
|
def _display_id(item) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user