From 3ca6a69bf8b502fbf8cb59ce1db9139e921bf0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Setni=C4=8Dka?= <setnicka@seznam.cz> Date: Wed, 24 Mar 2021 15:41:00 +0100 Subject: [PATCH] =?UTF-8?q?Score:=20Fix=20zjednozna=C4=8D=C5=88ov=C3=A1n?= =?UTF-8?q?=C3=AD=20podle=20minul=C3=BDch=20kol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Omylem jsme brali pořád dokola jen současné kolo. Také je pro přehlednost lepší mít v třídícím klíči jednotlivá kola jako Tuple. Na třídění to nic nezmění (funguje rekurzivně). --- mo/score.py | 6 +++--- mo/web/org_score.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mo/score.py b/mo/score.py index 29f112cb..e474ffdb 100644 --- a/mo/score.py +++ b/mo/score.py @@ -360,7 +360,7 @@ class Score: sol_points = {} for task_id in self._tasks[step].keys(): sol_points[task_id] = 0 - for sol in result._sols[0].values(): + for sol in result._sols[step].values(): if sol.points: sol_points[sol.task_id] = -sol.points # sestupné třídění @@ -370,10 +370,10 @@ class Score: if result.successful or not self.want_successful: # Primárně podle počtu získaných bodů, sekundárně podle bodů od maxima, terciárně podle bodů od nejobtížnější - result._order_key.extend((total_points, points_from_max, points_from_difficult)) + result._order_key.append((total_points, points_from_max, points_from_difficult)) else: # Neúspěšné řešitele třídíme podle počtu získaných bodů, sekundárně podle jména, jednoznačně podle user_id - result._order_key.extend((total_points, result.user.name_sort_key(), result.user.user_id)) + result._order_key.append((total_points, result.user.name_sort_key(), result.user.user_id)) # Otestujeme, jestli teď existují sdílená místa if not self._exists_same_order_key(): diff --git a/mo/web/org_score.py b/mo/web/org_score.py index 48dda81e..a648bc74 100644 --- a/mo/web/org_score.py +++ b/mo/web/org_score.py @@ -1,6 +1,6 @@ from flask import render_template, request, g from flask.helpers import url_for -from typing import List, Optional +from typing import List, Optional, Union import werkzeug.exceptions import mo -- GitLab