From 6ed167bfafc4c4f27fa463790fcfd76960b96564 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Sat, 29 Jun 2024 20:57:21 +0200 Subject: [PATCH 1/7] automatically ignore the service in diagnosis if it has been deactivated with the ynh cli --- src/service.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/service.py b/src/service.py index b0dc82827..0a0c37378 100644 --- a/src/service.py +++ b/src/service.py @@ -26,6 +26,7 @@ from glob import glob from datetime import datetime from moulinette import m18n +from yunohost.utils.diagnosis import diagnosis_ignore, diagnosis_unignore from yunohost.utils.error import YunohostError, YunohostValidationError from moulinette.utils.process import check_output from moulinette.utils.log import getActionLogger @@ -296,6 +297,9 @@ def service_enable(names): names = [names] for name in names: if _run_service_command("enable", name): + services = _get_services() + if name in services: + diagnosis_unignore({"services": [{"service": name}]}) logger.success(m18n.n("service_enabled", service=name)) else: raise YunohostError( @@ -315,6 +319,9 @@ def service_disable(names): names = [names] for name in names: if _run_service_command("disable", name): + services = _get_services() + if name in services: + diagnosis_ignore({"services": [{"service": name}]}) logger.success(m18n.n("service_disabled", service=name)) else: raise YunohostError( From 20741c63aafe11f4443319a35dbfb4b00732c6ca Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Sun, 30 Jun 2024 18:28:18 +0200 Subject: [PATCH 2/7] change an irrelevant error to a warning --- src/diagnosis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diagnosis.py b/src/diagnosis.py index 9e5d4235d..3f20f9093 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -322,7 +322,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): configuration["ignore_filters"][category] = [] if criterias not in configuration["ignore_filters"][category]: - raise YunohostValidationError("This filter does not exists.") + logger.warning("This filter does not exists.") configuration["ignore_filters"][category].remove(criterias) _diagnosis_write_configuration(configuration) From 5ef0c84c0f438ebfe5d73b560a95034a4f48c665 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Sun, 30 Jun 2024 18:34:38 +0200 Subject: [PATCH 3/7] Update tools.py: use _run_service_command to enable+start yunohost-firewall during postinstall and prevent a warning about lack of diagnosis ignore rule --- src/tools.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tools.py b/src/tools.py index 7c6b39d5c..726841e48 100644 --- a/src/tools.py +++ b/src/tools.py @@ -41,7 +41,6 @@ from yunohost.app_catalog import ( ) from yunohost.domain import domain_add from yunohost.firewall import firewall_upnp -from yunohost.service import service_start, service_enable from yunohost.regenconf import regen_conf from yunohost.utils.system import ( _dump_sources_list, @@ -156,6 +155,7 @@ def tools_postinstall( force_diskspace=False, overwrite_root_password=True, ): + from yunohost.service import _run_service_command from yunohost.dyndns import _dyndns_available, dyndns_unsubscribe from yunohost.utils.dns import is_yunohost_dyndns_domain from yunohost.utils.password import ( @@ -270,8 +270,8 @@ def tools_postinstall( os.system("touch /etc/yunohost/installed") # Enable and start YunoHost firewall at boot time - service_enable("yunohost-firewall") - service_start("yunohost-firewall") + _run_service_command("enable", "yunohost-firewall") + _run_service_command("start", "yunohost-firewall") regen_conf(names=["ssh"], force=True) From 9727765ecff6d4a035224db0d1071ab01f8e9675 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Sun, 30 Jun 2024 18:39:11 +0200 Subject: [PATCH 4/7] Update diagnosis.py: improve warning to make it more explicit when called from another context --- src/diagnosis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diagnosis.py b/src/diagnosis.py index 3f20f9093..2244b6795 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -304,7 +304,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): configuration["ignore_filters"][category] = [] if criterias in configuration["ignore_filters"][category]: - logger.warning("This filter already exists.") + logger.warning(f"(There is already a diagnosis {category} filter with these criterias)") return configuration["ignore_filters"][category].append(criterias) @@ -322,7 +322,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): configuration["ignore_filters"][category] = [] if criterias not in configuration["ignore_filters"][category]: - logger.warning("This filter does not exists.") + logger.warning(f"(There is no such diagnosis {category} filter with these criterias to remove)") configuration["ignore_filters"][category].remove(criterias) _diagnosis_write_configuration(configuration) From c0bccc3ac9bfe289108d7b4aad922c89317f3e55 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Sun, 30 Jun 2024 18:40:23 +0200 Subject: [PATCH 5/7] Update diagnosis.py: gotta "return" now if the key doesn't exist, otherwise the next code fails --- src/diagnosis.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/diagnosis.py b/src/diagnosis.py index 2244b6795..8fd3ffd45 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -323,6 +323,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): if criterias not in configuration["ignore_filters"][category]: logger.warning(f"(There is no such diagnosis {category} filter with these criterias to remove)") + return configuration["ignore_filters"][category].remove(criterias) _diagnosis_write_configuration(configuration) From 636c9e563ec3a697facaf77de9d7b3ddb8d1755b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Sun, 30 Jun 2024 18:41:50 +0200 Subject: [PATCH 6/7] Update diagnosis.py: more messages improvement --- src/diagnosis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diagnosis.py b/src/diagnosis.py index 8fd3ffd45..7b9975db2 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -309,7 +309,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): configuration["ignore_filters"][category].append(criterias) _diagnosis_write_configuration(configuration) - logger.success("Filter added") + logger.success(f"Added a {category} diagnosis filter") return if remove_filter: @@ -327,7 +327,7 @@ def _diagnosis_ignore(add_filter=None, remove_filter=None, list=False): configuration["ignore_filters"][category].remove(criterias) _diagnosis_write_configuration(configuration) - logger.success("Filter removed") + logger.success(f"Removed a {category} diagnosis filter") return From 4b43d8d99d621f339eb967e4694a1708afbd2a57 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Sun, 30 Jun 2024 18:52:19 +0200 Subject: [PATCH 7/7] Update service.py: typo --- src/service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service.py b/src/service.py index 0a0c37378..db96a099a 100644 --- a/src/service.py +++ b/src/service.py @@ -26,7 +26,7 @@ from glob import glob from datetime import datetime from moulinette import m18n -from yunohost.utils.diagnosis import diagnosis_ignore, diagnosis_unignore +from yunohost.diagnosis import diagnosis_ignore, diagnosis_unignore from yunohost.utils.error import YunohostError, YunohostValidationError from moulinette.utils.process import check_output from moulinette.utils.log import getActionLogger