Separate getting node info and instance settings (for fast starting)

This commit is contained in:
localhost_frssoft 2023-06-15 23:53:31 +03:00
parent 3c545cc991
commit 4efed21d3f
2 changed files with 13 additions and 9 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/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_radios import list_radios
from src.fw_artists import list_artists from src.fw_artists import list_artists
from src.fw_albums import list_albums from src.fw_albums import list_albums
@ -34,12 +34,9 @@ def main():
'About instance', 'About instance',
'Switch instance'] 'Switch instance']
try: try:
ins_settings, ins_nodeinfo = get_instance_settings() ins_nodeinfo = get_node_info()
for i in ins_settings: support_message = ins_nodeinfo['metadata']['instanceSupportMessage']
if i.get('name') == 'support_message': instance_title = ins_nodeinfo['metadata']['nodeName']
support_message = i.get('value')
if i.get('name') == 'name':
instance_title = i.get('value')
instance_stats = [] instance_stats = []
for k, v in ins_nodeinfo['metadata']['library'].items(): for k, v in ins_nodeinfo['metadata']['library'].items():
if k == 'anonymousCanListen' and v == False and not current_instance.s.headers.get('Authorization'): if k == 'anonymousCanListen' and v == False and not current_instance.s.headers.get('Authorization'):
@ -130,6 +127,7 @@ Insert token from "Access token" here''')
if selected == 'Donate': if selected == 'Donate':
os.system(f'less <<EOF\nSupport instance message:\n{support_message}\nEOF') os.system(f'less <<EOF\nSupport instance message:\n{support_message}\nEOF')
if selected == 'About instance': if selected == 'About instance':
ins_settings = get_instance_settings()
about_instance_info = [] 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')

View File

@ -62,6 +62,7 @@ def get_me():
if not current_instance.token: if not current_instance.token:
return return
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')
r.raise_for_status()
resp = r.json() resp = r.json()
current_instance.listen_token = resp['tokens']['listen'] current_instance.listen_token = resp['tokens']['listen']
return resp return resp
@ -70,9 +71,14 @@ def get_me():
def get_instance_settings(): def get_instance_settings():
r = current_instance.s.get( r = current_instance.s.get(
f'https://{current_instance.instance}/api/v1/instance/settings') 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/') 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 @logger.catch