From 9316aa9a79535a10532bdce236bf3a38c9850810 Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Wed, 6 Dec 2023 05:32:22 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E2=80=94=20Fix=20domains=20sort?= =?UTF-8?q?ing=20on=20domains=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pylintrc | 1 + argos/server/routes/views.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.pylintrc b/.pylintrc index c5b3cdd..ee85aae 100644 --- a/.pylintrc +++ b/.pylintrc @@ -435,6 +435,7 @@ disable=raw-checker-failed, use-implicit-booleaness-not-comparison-to-zero, fixme, too-few-public-methods, + too-many-locals, unused-argument, import-outside-toplevel, no-self-argument, diff --git a/argos/server/routes/views.py b/argos/server/routes/views.py index b126b59..807ecf4 100644 --- a/argos/server/routes/views.py +++ b/argos/server/routes/views.py @@ -15,6 +15,12 @@ from argos.server.routes.dependencies import get_config, get_db route = APIRouter() templates = Jinja2Templates(directory="argos/server/templates") +SEVERITY_LEVELS = { + "ok": 1, + "warning": 2, + "critical": 3, + "to-process": 4 +} @route.get("/") @@ -44,7 +50,7 @@ async def get_severity_counts( @route.get("/details") async def read_tasks(request: Request, db: Session = Depends(get_db)): """Show all tasks and their current state""" - tasks = db.query(Task).order_by(Task.domain).all() + tasks = db.query(Task).order_by(Task.domain.desc()).all() results = ( db.query(Task, Result) @@ -63,12 +69,11 @@ async def read_tasks(request: Request, db: Session = Depends(get_db)): domains_last_checks[domain].append(result.submitted_at) def _max_severity(severities): - severity_level = {"ok": 1, "warning": 2, "critical": 3, "to-process": 4} - return max(severities, key=severity_level.get) + return max(severities, key=SEVERITY_LEVELS.get) domains = [(key, _max_severity(value)) for key, value in domains_severities.items()] last_checks = {key: max(value) for key, value in domains_last_checks.items()} - domains.sort(key=lambda x: x[1]) + domains.sort(key=lambda x: SEVERITY_LEVELS[x[1]], reverse=True) agents = db.query(Result.agent_id).distinct().all()