yunohost/src/migrations/0024_global_settings_to_configpanel.py
2022-04-26 17:26:48 +00:00

34 lines
907 B
Python

import subprocess
import time
import urllib
from yunohost.utils.error import YunohostError
from moulinette.utils.log import getActionLogger
from yunohost.tools import Migration
from yunohost.settings import settings_set
logger = getActionLogger("yunohost.migration")
OLD_SETTINGS_PATH = "/etc/yunohost/settings.json"
class MyMigration(Migration):
"Migrate old global settings to the new ConfigPanel global settings"
dependencies = ["migrate_to_bullseye"]
def run(self):
if not os.path.exists(OLD_SETTINGS_PATH):
return
try:
old_settings = json.load(open(OLD_SETTINGS_PATH))
except Exception as e:
raise YunohostError("global_settings_cant_open_settings", reason=e)
settings = { k: v['values'] for k,v in old_settings.items() }
args = urllib.parse.urlencode(settings)
settings_set(args=args)