settings migration

This commit is contained in:
Tagadda 2022-01-31 00:57:00 +00:00
parent f3349d4b3d
commit 2156fb402b
2 changed files with 11 additions and 9 deletions

View file

@ -485,8 +485,8 @@
"log_user_permission_reset": "Reset permission '{}'", "log_user_permission_reset": "Reset permission '{}'",
"log_user_permission_update": "Update accesses for permission '{}'", "log_user_permission_update": "Update accesses for permission '{}'",
"log_user_update": "Update info for user '{}'", "log_user_update": "Update info for user '{}'",
"log_settings_set": "Apply setting '{}'", "log_settings_set": "Apply settings",
"log_settings_reset": "Reset setting '{}'", "log_settings_reset": "Reset setting",
"log_settings_reset_all": "Reset all setting", "log_settings_reset_all": "Reset all setting",
"mail_alias_remove_failed": "Could not remove e-mail alias '{mail}'", "mail_alias_remove_failed": "Could not remove e-mail alias '{mail}'",
"mail_domain_unknown": "Invalid e-mail address for domain '{domain}'. Please, use a domain administrated by this server.", "mail_domain_unknown": "Invalid e-mail address for domain '{domain}'. Please, use a domain administrated by this server.",

View file

@ -1,16 +1,16 @@
import subprocess import subprocess
import time import time
import urllib
from yunohost.utils.error import YunohostError from yunohost.utils.error import YunohostError
from moulinette.utils.log import getActionLogger from moulinette.utils.log import getActionLogger
from yunohost.tools import Migration from yunohost.tools import Migration
from yunohost.utils.legacy import LEGACY_SETTINGS, translate_legacy_settings_to_configpanel_settings
from yunohost.settings import settings_set from yunohost.settings import settings_set
logger = getActionLogger("yunohost.migration") logger = getActionLogger("yunohost.migration")
SETTINGS_PATH = "/etc/yunohost/settings.json" OLD_SETTINGS_PATH = "/etc/yunohost/settings.json"
class MyMigration(Migration): class MyMigration(Migration):
@ -19,14 +19,16 @@ class MyMigration(Migration):
dependencies = ["migrate_to_bullseye"] dependencies = ["migrate_to_bullseye"]
def run(self): def run(self):
if not os.path.exists(SETTINGS_PATH): if not os.path.exists(OLD_SETTINGS_PATH):
return return
try: try:
old_settings = json.load(open(SETTINGS_PATH)) old_settings = json.load(open(OLD_SETTINGS_PATH))
except Exception as e: except Exception as e:
raise YunohostError("global_settings_cant_open_settings", reason=e) raise YunohostError("global_settings_cant_open_settings", reason=e)
for key, value in old_settings.items(): settings = { k: v['values'] for k,v in old_settings.items() }
if key in LEGACY_SETTINGS:
settings_set(key=key, value=value) args = urllib.parse.urlencode(settings)
settings_set(args=args)