Compare commits

..

No commits in common. "9ec77975e5fef89a3189fd61d56865b3cd8df798" and "add2ef572cf44eddbaaf656883c4c5e4378bb9a3" have entirely different histories.

2 changed files with 18 additions and 17 deletions

View File

@ -11,7 +11,8 @@ from src.fw_recents import list_fav_or_history
import src.settings as settings import src.settings as settings
import src.mpv_control import src.mpv_control
import json import json
import os import sys
import time
from shlex import quote from shlex import quote
from loguru import logger from loguru import logger
from pyfzf.pyfzf import FzfPrompt from pyfzf.pyfzf import FzfPrompt
@ -89,7 +90,7 @@ def main():
print('Input url:') print('Input url:')
returned_obj = federate_search_by_url(input()) returned_obj = federate_search_by_url(input())
logger.info(str(returned_obj)) logger.info(str(returned_obj))
if selected == 'Switch instance': if selected == 'Switch instance':
with open('config.json', 'rt') as f: with open('config.json', 'rt') as f:
conf = json.loads(f.read()) conf = json.loads(f.read())
@ -103,10 +104,10 @@ def main():
current_instance.select_instance(instance) current_instance.select_instance(instance)
if selected == 'Sign in': if selected == 'Sign in':
print(f''' print(f'''
If You want sign in, please visit: If You want sign in, please visit:
https://{instance}/settings/applications/new https://{instance}/settings/applications/new
And fill Name funkwhale-cli And fill Name funkwhale-cli
Scopes: Read, Write (optional): write:favorites write:listenings write:filters Scopes: Read, Write (optional): write:favorites write:listenings write:filters
Insert token from "Access token" here''') Insert token from "Access token" here''')
register_token = input() register_token = input()
@ -121,22 +122,21 @@ Insert token from "Access token" here''')
current_instance.select_instance(instance) current_instance.select_instance(instance)
if selected == 'Donate': if selected == 'Donate':
os.system(f'less <<EOF\nSupport instance message:\n{support_message}') print('Support instance message:')
print(support_message)
input()
if selected == 'About instance': if selected == 'About instance':
about_instance_info = []
for i in ins_settings: for i in ins_settings:
k, v = i.get('verbose_name'), i.get('value') k, v = i.get('verbose_name'), i.get('value')
about_instance_info.append(f'{k}: {v}') print(f'{k}: {v}')
about_instance_info.append('|||||Some stats:') print('|||||Some stats:')
for k, v in ins_nodeinfo['metadata']['usage'].items(): for k, v in ins_nodeinfo['metadata']['usage'].items():
about_instance_info.append(f'{k}: {v}') print(f'{k}: {v}')
for k, v in ins_nodeinfo['metadata']['library'].items(): for k, v in ins_nodeinfo['metadata']['library'].items():
about_instance_info.append(f'{k}: {v}') print(f'{k}: {v}')
for k, v in ins_nodeinfo['usage'].items(): for k, v in ins_nodeinfo['usage'].items():
about_instance_info.append(f'{k}: {v}') print(f'{k}: {v}')
about_instance_info = '\n'.join(about_instance_info) input()
os.system(f'less <<EOF\n{about_instance_info}')
del about_instance_info
if selected == 'Player': if selected == 'Player':
src.mpv_control.player_menu( src.mpv_control.player_menu(
storage=src.mpv_control.player_fw_storage.storage) storage=src.mpv_control.player_fw_storage.storage)

View File

@ -35,6 +35,7 @@ class current_instance:
token = auth.get(instance) token = auth.get(instance)
listen_token = None listen_token = None
@logger.catch @logger.catch
def select_instance(new_instance=None): def select_instance(new_instance=None):
current_instance.instance = new_instance current_instance.instance = new_instance
@ -54,7 +55,7 @@ if current_instance.token:
else: else:
# Get cookies from unauthorized instance for working some functionality (radios) # Get cookies from unauthorized instance for working some functionality (radios)
current_instance.s.get(f'https://{current_instance.instance}/') current_instance.s.get(f'https://{current_instance.instance}/')
@logger.catch @logger.catch
def get_me(): def get_me():
@ -64,7 +65,7 @@ def get_me():
r = current_instance.s.get(f'https://{current_instance.instance}/api/v1/users/me') r = current_instance.s.get(f'https://{current_instance.instance}/api/v1/users/me')
resp = r.json() resp = r.json()
current_instance.listen_token = resp['tokens']['listen'] current_instance.listen_token = resp['tokens']['listen']
return resp return resp
def get_instance_settings(): def get_instance_settings():
@ -76,7 +77,7 @@ def get_instance_settings():
@logger.catch @logger.catch
def get_audio_file(track_uuid, listen_url=False, download=False, def get_audio_file(track_uuid, listen_url=False, download=False,
external_transcoding=get_config('external_transcoder_http_proxy_path'), external_transcoding=get_config('external_transcoder_http_proxy_path'),
transcoding=get_config('enable_server_transcoding'), to='ogg'): transcoding=get_config('enable_server_transcoding'), to='ogg'):
params = { params = {