(stats): Assorted bugfixes and UI tweaks.

This commit is contained in:
2023-07-18 15:25:46 +03:00
parent f4769b407e
commit d4800f1db6
6 changed files with 55 additions and 31 deletions

View File

@@ -7,6 +7,7 @@ from gui.cards import WeeklyGoalCard, MonthlyGoalCard
from gui.base import CardMode
from tracking.text.data import TextTrackerData
from .. import logger
from ..data import StatsData
from ..lib import extract_weekid, extract_monthid, apply_week_offset, apply_month_offset
@@ -49,7 +50,7 @@ async def get_goals_card(
goals = await goal_model.fetch(*key.values())
if not goals:
from collections import defaultdict
goals = defaultdict(lambda: -1)
goals = defaultdict(lambda: 0)
task_rows = await tasks_model.fetch_where(**key)
tasks = [(i, row.content, bool(row.completed)) for i, row in enumerate(task_rows)]

View File

@@ -21,20 +21,15 @@ async def get_leaderboard_card(
names = {}
missing = []
for userid, _, _ in entry_data:
hash = name = None
if guild and (member := guild.get_member(userid)):
hash = member.avatar.key
name = member.display_name
avatars[userid] = member.avatar.key if member.avatar else None
names[userid] = member.display_name
elif (user := bot.get_user(userid)):
hash = user.avatar.key
name = user.name
avatars[userid] = user.avatar.key if user.avatar else None
names[userid] = user.display_name
elif (user_data := bot.core.data.User._cache_.get((userid,))):
hash = user_data.avatar_hash
name = user_data.name
if hash:
avatars[userid] = hash
names[userid] = name or 'Unknown'
avatars[userid] = user_data.avatar_hash
names[userid] = user_data.name
else:
missing.append(userid)