From 1d946ad073ed298185da49a6a5f111332c3daf25 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 29 Aug 2018 00:33:02 +0000 Subject: [PATCH] Implement diagnosis categories listing --- src/yunohost/diagnosis.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/yunohost/diagnosis.py b/src/yunohost/diagnosis.py index aafbdcec3..0d312a7c1 100644 --- a/src/yunohost/diagnosis.py +++ b/src/yunohost/diagnosis.py @@ -28,10 +28,13 @@ from moulinette import m18n from moulinette.core import MoulinetteError from moulinette.utils import log +from yunohost.hook import hook_list + logger = log.getActionLogger('yunohost.diagnosis') def diagnosis_list(): - pass + all_categories_names = [ h for h, _ in _list_diagnosis_categories() ] + return { "categories": all_categories_names } def diagnosis_report(categories=[], full=False): pass @@ -42,3 +45,13 @@ def diagnosis_run(categories=[], force=False, args=""): def diagnosis_ignore(category, args="", unignore=False): pass +############################################################ + +def _list_diagnosis_categories(): + hooks_raw = hook_list("diagnosis", list_by="priority", show_info=True)["hooks"] + hooks = [] + for _, some_hooks in sorted(hooks_raw.items(), key=lambda h:int(h[0])): + for name, info in some_hooks.items(): + hooks.append((name, info["path"])) + + return hooks