diff --git a/joint_teapot/app.py b/joint_teapot/app.py index 7e0648c..9a0dd2a 100644 --- a/joint_teapot/app.py +++ b/joint_teapot/app.py @@ -572,6 +572,7 @@ def joj3_all( submitter, os.path.join(repo_path, scoreboard_file_name), exercise_name, + max_total_score, ) tea.pot.git.add_commit( repo_name, diff --git a/joint_teapot/utils/joj3.py b/joint_teapot/utils/joj3.py index d2d108f..78ac009 100644 --- a/joint_teapot/utils/joj3.py +++ b/joint_teapot/utils/joj3.py @@ -9,7 +9,11 @@ from joint_teapot.utils.logger import logger def generate_scoreboard( - score_file_path: str, submitter: str, scoreboard_file_path: str, exercise_name: str + score_file_path: str, + submitter: str, + scoreboard_file_path: str, + exercise_name: str, + max_total_score: int = -1, ) -> None: if not scoreboard_file_path.endswith(".csv"): logger.error( @@ -69,6 +73,8 @@ def generate_scoreboard( for stage in stages: for result in stage["results"]: exercise_total_score += result["score"] + if max_total_score >= 0: + exercise_total_score = min(exercise_total_score, max_total_score) submitter_row[columns.index(exercise_name)] = str(exercise_total_score) total = 0 @@ -82,9 +88,8 @@ def generate_scoreboard( submitter_row[columns.index("total")] = str(total) now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - submitter_row[ - columns.index("last_edit") - ] = now # FIXME: Delete this in formal version + # FIXME: Delete this in formal version + submitter_row[columns.index("last_edit")] = now # Sort data by total, from low to high data.sort(key=lambda x: int(x[columns.index("total")]))