Skip to content
Snippets Groups Projects

Vylepšení výsledkové listiny

Merged Martin Mareš requested to merge mj/vysledky-p into devel
1 unresolved thread
1 file
+ 13
0
Compare changes
  • Side-by-side
  • Inline
+ 13
0
@@ -7,6 +7,7 @@ from typing import Any, List, Tuple, Optional, Dict, Union
@@ -7,6 +7,7 @@ from typing import Any, List, Tuple, Optional, Dict, Union
import mo.db as db
import mo.db as db
from mo.util import normalize_grade
from mo.util import normalize_grade
 
from mo.util_format import inflect_with_number
class ScoreOrder:
class ScoreOrder:
@@ -145,6 +146,18 @@ class Score:
@@ -145,6 +146,18 @@ class Score:
self._load_tasks_and_sols(0, round, contest_subq)
self._load_tasks_and_sols(0, round, contest_subq)
self._mark_winners()
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]]):
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"""
"""Obecná funkce na načtení úloh a řešení tohoto nebo předchozího kola"""
if step in self._tasks:
if step in self._tasks:
Loading