fix
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user