From 81e624b4a091e08e02bf0eec5784f1a1f02e6ddc Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Mon, 1 Mar 2021 16:07:06 +0100 Subject: [PATCH] =?UTF-8?q?mo.score:=20Vynech=C3=A1v=C3=A1me=20=C3=BA?= =?UTF-8?q?=C4=8Dastn=C3=ADky=20bez=20odevzdan=C3=BDch=20=C5=99e=C5=A1en?= =?UTF-8?q?=C3=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mo/score.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mo/score.py b/mo/score.py index 4a0cd6da..bfa4c626 100644 --- a/mo/score.py +++ b/mo/score.py @@ -7,6 +7,7 @@ from typing import Any, List, Tuple, Optional, Dict, Union import mo.db as db from mo.util import normalize_grade +from mo.util_format import inflect_with_number class ScoreOrder: @@ -145,6 +146,18 @@ class Score: self._load_tasks_and_sols(0, round, contest_subq) self._mark_winners() + # Vynecháme účastníky, kteří nic neodevzdali + to_remove = [] + for user_id, results in self._results.items(): + if not results._sols[0]: + to_remove.append(user_id) + if to_remove: + self._add_message('info', + inflect_with_number(len(to_remove), 'Vynechán %s soutěžící', 'Vynecháni %s soutěžící', 'Vynecháno %s soutěžících') + + ' bez odevzdaných řešení.') + for user_id in to_remove: + self._results.pop(user_id) + def _load_tasks_and_sols(self, step: int, round: db.Round, contest_subq: Union[Query, List[int]]): """Obecná funkce na načtení úloh a řešení tohoto nebo předchozího kola""" if step in self._tasks: -- GitLab