From f17f51f3f6de24c69eaf552209947a7414cb5b12 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 24 Feb 2019 03:32:14 +0100 Subject: [PATCH 1/3] Add ynh_app_setting helper to optimize app setting interface --- data/helpers.d/setting | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/data/helpers.d/setting b/data/helpers.d/setting index 6f75f6c80..18a57780a 100644 --- a/data/helpers.d/setting +++ b/data/helpers.d/setting @@ -14,7 +14,7 @@ ynh_app_setting_get() { # Manage arguments with getopts ynh_handle_getopts_args "$@" - sudo yunohost app setting "$app" "$key" --output-as plain --quiet + ynh_app_setting "get" "$app" "$key" } # Set an application setting @@ -33,7 +33,7 @@ ynh_app_setting_set() { # Manage arguments with getopts ynh_handle_getopts_args "$@" - sudo yunohost app setting "$app" "$key" --value="$value" --quiet + ynh_app_setting "set" "$app" "$key" "$value" } # Delete an application setting @@ -50,5 +50,36 @@ ynh_app_setting_delete() { # Manage arguments with getopts ynh_handle_getopts_args "$@" - sudo yunohost app setting -d "$app" "$key" --quiet + ynh_app_setting "delete" "$app" "$key" +} + +# Small "hard-coded" interface to avoid calling "yunohost app" directly each +# time dealing with a setting is needed (which may be so slow on ARM boards) +# +# [internal] +# +ynh_app_setting() +{ + ACTION="$1" APP="$2" KEY="$3" VALUE="$4" python - < Date: Fri, 1 Mar 2019 01:43:16 +0100 Subject: [PATCH 2/3] Clarify the if case for 'get' --- data/helpers.d/setting | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/helpers.d/setting b/data/helpers.d/setting index 18a57780a..ccd2ac0a6 100644 --- a/data/helpers.d/setting +++ b/data/helpers.d/setting @@ -75,9 +75,11 @@ else: if action == "delete": if key in settings: del settings[key] - else: + elif action == "get": if key in ['redirected_urls', 'redirected_regex']: value = yaml.load(value) + else: + raise ValueError("action should either be get, set or delete") settings[key] = value with open(setting_file, "w") as f: yaml.safe_dump(settings, f, default_flow_style=False) From 078b9b90bc22c56fc78255ae5fc72bea9e0e5af5 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Mar 2019 00:50:36 +0100 Subject: [PATCH 3/3] Drunk commits were made >.> --- data/helpers.d/setting | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/helpers.d/setting b/data/helpers.d/setting index ccd2ac0a6..fb833281a 100644 --- a/data/helpers.d/setting +++ b/data/helpers.d/setting @@ -75,12 +75,12 @@ else: if action == "delete": if key in settings: del settings[key] - elif action == "get": + elif action == "set": if key in ['redirected_urls', 'redirected_regex']: value = yaml.load(value) + settings[key] = value else: raise ValueError("action should either be get, set or delete") - settings[key] = value with open(setting_file, "w") as f: yaml.safe_dump(settings, f, default_flow_style=False) EOF