From 8f19bb9c725a4a1b77fba6e73e81dedddfb5f180 Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Wed, 28 Feb 2024 11:30:28 +0100 Subject: [PATCH] fix server settings storage FIXES: missing json library FIXES: unable to load json values FIXES: server settings not applied on launch --- melon/import_providers/newpipe.py | 1 + melon/models/__init__.py | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/melon/import_providers/newpipe.py b/melon/import_providers/newpipe.py index 8cd9515..38b9a10 100644 --- a/melon/import_providers/newpipe.py +++ b/melon/import_providers/newpipe.py @@ -1,5 +1,6 @@ from abc import ABC import sqlite3 +import json from melon.import_providers import ImportProvider, PickerMode from melon.servers import Channel, Playlist, Video diff --git a/melon/models/__init__.py b/melon/models/__init__.py index daee375..73b0054 100644 --- a/melon/models/__init__.py +++ b/melon/models/__init__.py @@ -4,6 +4,7 @@ from datetime import datetime from functools import cache import sqlite3 import os +import json from melon.servers import Video, Channel, Playlist, Resource from melon.utils import get_data_dir @@ -299,7 +300,14 @@ def get_server_settings(sid:str): results = conn.execute( "SELECT key, value FROM server_settings WHERE server = ?", (sid,)).fetchall() for setting in results: - base[setting[0]] = setting[1] + value = setting[1] + try: + # autoparse json + value = convert_json(setting[1]) + except Exception as e: + # fallback to native type on error + value = setting[1] + base["custom"][setting[0]] = value return base def is_server_enabled(server_id: str): conn = connect_to_db() -- 2.38.5