Skip to content

Commit 39189b5

Browse files
fix: statistics of problems seen by 0 teams (#1015)
1 parent ace2feb commit 39189b5

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

bullet/problems/logic/stats.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def generate_stats_category(category: Category):
5252
stats = []
5353
for team in teams:
5454
for number, received in receive_times[team.id].items():
55-
if number > len(problems) - first_problem + 1:
55+
if number > len(problems):
5656
continue
5757
solved = None
5858
if number in solve_times[team.id]:

bullet/problems/templatetags/archive_statements.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ def timedelta_format(td: timedelta):
4040

4141
@register.filter()
4242
def problem_solve_percentage(stats):
43+
if not stats["received"]:
44+
return "-"
4345
per = stats["solved"] / stats["received"]
4446
per = round(per * 100, 1)
4547
return f"{per:0.1f}"

bullet/problems/views/archive.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ def inject_stats(self, object_list):
6868

6969
new_list = []
7070
for obj in object_list:
71-
obj.stats = stats.get(obj.problem.id)
71+
obj.stats = stats.get(
72+
obj.problem.id, {"received": 0, "solved": 0, "avg_time": None}
73+
)
7274
new_list.append(obj)
7375

7476
return new_list

0 commit comments

Comments
 (0)