Show audio type in search command

This commit is contained in:
Oskar Dudziński
2026-05-04 21:35:26 +02:00
parent 46a6e748da
commit a282c1a4af
+7 -7
View File
@@ -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: