diff --git a/funkwhale_cli.py b/funkwhale_cli.py index a176bde..8b97953 100755 --- a/funkwhale_cli.py +++ b/funkwhale_cli.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from src.fw_api import current_instance, get_instance_settings +from src.fw_api import current_instance, federate_search_by_url, get_instance_settings from src.fw_radios import list_radios from src.fw_artists import list_artists from src.fw_albums import list_albums @@ -13,6 +13,7 @@ import src.mpv_control import json import os from shlex import quote +from loguru import logger from pyfzf.pyfzf import FzfPrompt fzf = FzfPrompt() @@ -31,6 +32,7 @@ def main(): 'Playlists', 'Favorites', 'Recently listened', + 'Search', 'About instance', 'Switch instance'] try: @@ -81,6 +83,13 @@ def main(): list_fav_or_history() if selected == 'Recently listened': list_fav_or_history(is_history_view=True) + if selected == 'Search': + search_type = fzf.prompt(('Federated', 'All types'))[0] + if search_type == 'Federated': + print('Input url:') + returned_obj = federate_search_by_url(input()) + logger.info(str(returned_obj)) + if selected == 'Switch instance': with open('config.json', 'rt') as f: conf = json.loads(f.read()) @@ -95,7 +104,7 @@ def main(): if selected == 'Sign in': print(f''' If You want sign in, please visit: -https://{current_instance.instance}/settings/applications/new +https://{instance}/settings/applications/new And fill Name funkwhale-cli Scopes: Read, Write (optional): write:favorites write:listenings write:filters @@ -104,14 +113,13 @@ Insert token from "Access token" here''') with open('.auth.json', 'rt') as f: tkns = json.loads(f.read()) with open('.auth.json', 'wt') as f: - tkns[current_instance.instance] = register_token + tkns[instance] = register_token f.write(json.dumps(tkns)) del tkns del register_token del f - os.system('clear') - current_instance.select_instance(current_instance.instance) + current_instance.select_instance(instance) if selected == 'Donate': os.system(f'less <