This commit is contained in:
2026-03-18 19:57:04 +08:00
parent 0dc8b92dcb
commit 7c4f729cb4
2 changed files with 0 additions and 32 deletions

View File

@@ -16,7 +16,6 @@ from .schemas import (
SubmissionIn,
SubmissionOut,
RatingScoreIn,
ScoreBucket,
TaskStatsOut,
TopSubmission,
UserTag,
@@ -288,27 +287,6 @@ def get_task_stats(request, task_id: int, classname: Optional[str] = None):
else:
dist["count_4_plus"] += 1
# Score distribution from latest submissions (exclude unrated score=0).
# Rating scale is 1-5 stars; one bucket per star level.
score_dist = {
"range_1_2": 0, "range_2_3": 0, "range_3_4": 0,
"range_4_5": 0, "range_5": 0,
}
for sub in latest_subs:
if sub.score == 0:
continue
s = sub.score
if s >= 5:
score_dist["range_5"] += 1
elif s >= 4:
score_dist["range_4_5"] += 1
elif s >= 3:
score_dist["range_3_4"] += 1
elif s >= 2:
score_dist["range_2_3"] += 1
else:
score_dist["range_1_2"] += 1
# Top 5 submissions by rating count
top_subs_qs = (
Submission.objects.filter(task=task, user_id__in=student_ids)
@@ -350,7 +328,6 @@ def get_task_stats(request, task_id: int, classname: Optional[str] = None):
unsubmitted_users=unsubmitted_users,
unrated_users=unrated_users,
submission_count_distribution=SubmissionCountBucket(**dist),
score_distribution=ScoreBucket(**score_dist),
top_submissions=top_submissions,
flag_stats=flag_stats,
classes=all_classes,

View File

@@ -141,14 +141,6 @@ class SubmissionCountBucket(Schema):
count_4_plus: int # users with 4+ submissions
class ScoreBucket(Schema):
range_1_2: int # [1, 2) ★
range_2_3: int # [2, 3) ★★
range_3_4: int # [3, 4) ★★★
range_4_5: int # [4, 5) ★★★★
range_5: int # [5, 5] ★★★★★
class FlagStats(Schema):
red: int
blue: int
@@ -165,7 +157,6 @@ class TaskStatsOut(Schema):
unsubmitted_users: list[UserTag]
unrated_users: list[UserTag]
submission_count_distribution: SubmissionCountBucket
score_distribution: ScoreBucket
top_submissions: list[TopSubmission]
flag_stats: FlagStats
classes: list[str]