Compare commits

...

3 Commits

3 changed files with 34 additions and 11 deletions

14
.icon.txt Normal file
View File

@ -0,0 +1,14 @@
.'''... ..''''.
'''''''......'''''''
''''''''''''''.
.''''.
.''.
.''.
:u, 'uu .uu. .uu. :u' .uu
.oo oo, uo;'';oo. .oo uo,
:o; uo;. .,oo ;ou
:o:. uo;'......';oo ;o:
.ou,. ,oooo; .,uo.
:o:,.. ..':ou
oou:;;;;:uoo
'uu'

View File

@ -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, get_instance_settings, get_node_info
from src.fw_radios import list_radios
from src.fw_artists import list_artists
from src.fw_albums import list_albums
@ -13,10 +13,15 @@ import src.mpv_control
import json
import os
from shlex import quote
from shutil import get_terminal_size
from pyfzf.pyfzf import FzfPrompt
fzf = FzfPrompt()
os.system('clear')
if get_terminal_size().columns > 32:
print('\n\n')
os.system('cat .icon.txt')
def main():
@ -34,12 +39,9 @@ def main():
'About instance',
'Switch instance']
try:
ins_settings, ins_nodeinfo = get_instance_settings()
for i in ins_settings:
if i.get('name') == 'support_message':
support_message = i.get('value')
if i.get('name') == 'name':
instance_title = i.get('value')
ins_nodeinfo = get_node_info()
support_message = ins_nodeinfo['metadata']['instanceSupportMessage']
instance_title = ins_nodeinfo['metadata']['nodeName']
instance_stats = []
for k, v in ins_nodeinfo['metadata']['library'].items():
if k == 'anonymousCanListen' and v == False and not current_instance.s.headers.get('Authorization'):
@ -117,10 +119,10 @@ Read | Write (optional):
Insert token from "Access token" here''')
register_token = input()
with open('.auth.json', 'rt') as f:
tkns = json.loads(f.read())
tkns = json.load(f)
with open('.auth.json', 'wt') as f:
tkns[current_instance.instance] = register_token
f.write(json.dumps(tkns))
f.write(json.dumps(tkns, indent=4))
del tkns
del register_token
del f
@ -130,6 +132,7 @@ Insert token from "Access token" here''')
if selected == 'Donate':
os.system(f'less <<EOF\nSupport instance message:\n{support_message}\nEOF')
if selected == 'About instance':
ins_settings = get_instance_settings()
about_instance_info = []
for i in ins_settings:
k, v = i.get('verbose_name'), i.get('value')

View File

@ -62,6 +62,7 @@ def get_me():
if not current_instance.token:
return
r = current_instance.s.get(f'https://{current_instance.instance}/api/v1/users/me')
r.raise_for_status()
resp = r.json()
current_instance.listen_token = resp['tokens']['listen']
return resp
@ -70,9 +71,14 @@ def get_me():
def get_instance_settings():
r = current_instance.s.get(
f'https://{current_instance.instance}/api/v1/instance/settings')
r_node = current_instance.s.get(
return r.json()
def get_node_info():
r = current_instance.s.get(
f'https://{current_instance.instance}/api/v1/instance/nodeinfo/2.0/')
return r.json(), r_node.json()
r.raise_for_status()
return r.json()
@logger.catch