Tag selector for artists menu

This commit is contained in:
localhost_frssoft 2023-06-18 01:34:02 +03:00
parent c56b68bb0c
commit e2f07a7a35
2 changed files with 8 additions and 4 deletions

View File

@ -170,7 +170,7 @@ def get_recently_listened(page=None, q=None, scope=None, include_channels=None,
@logger.catch @logger.catch
def get_artists(page=None, q=None, artist=None, album=None, def get_artists(page=None, q=None, artist=None, album=None, tag=None,
library=None, scope=None, favourites=None, refresh=False, pg=None): library=None, scope=None, favourites=None, refresh=False, pg=None):
'''This function get artists by params''' '''This function get artists by params'''
params = { params = {
@ -178,6 +178,7 @@ def get_artists(page=None, q=None, artist=None, album=None,
'q': q, 'q': q,
'artist': artist, 'artist': artist,
'album': album, 'album': album,
'tag': tag,
'library': library, 'library': library,
'scope': scope, 'scope': scope,
'favourites': favourites, 'favourites': favourites,

View File

@ -2,6 +2,7 @@ from src.fw_api import get_artists, get_tracks, get_audio_file
from src.fw_api_hints import hint_scope from src.fw_api_hints import hint_scope
from src.fw_albums import list_albums from src.fw_albums import list_albums
from src.fw_libraries import libraries from src.fw_libraries import libraries
from src.fw_tags import list_tags
from src.mpv_control import player, player_menu, track_url_to_uuid from src.mpv_control import player, player_menu, track_url_to_uuid
from pyfzf.pyfzf import FzfPrompt from pyfzf.pyfzf import FzfPrompt
from loguru import logger from loguru import logger
@ -10,12 +11,12 @@ fzf = FzfPrompt()
@logger.catch @logger.catch
def list_artists(pg=None, search=None, library=None, scope=None): def list_artists(pg=None, search=None, library=None, scope=None, tag=None):
artists = get_artists(q=search, library=library, pg=pg, scope=scope) artists = get_artists(q=search, library=library, pg=pg, scope=scope, tag=tag)
artists_next = artists.get('next') artists_next = artists.get('next')
artists_prev = artists.get('previous') artists_prev = artists.get('previous')
artists_results = artists.get('results') artists_results = artists.get('results')
view = ['Search', 'Library', 'Limit by scope'] view = ['Search', 'Tag', 'Library', 'Limit by scope']
if artists_next: if artists_next:
view.append('Next page') view.append('Next page')
if artists_prev: if artists_prev:
@ -39,6 +40,8 @@ def list_artists(pg=None, search=None, library=None, scope=None):
elif select == 'Search': elif select == 'Search':
print('Search by artist:') print('Search by artist:')
list_artists(search=input()) list_artists(search=input())
elif select == 'Tag':
list_artists(tag=list_tags())
elif select == 'Library': elif select == 'Library':
select_lib = libraries() select_lib = libraries()
list_artists(library=select_lib) list_artists(library=select_lib)