Fix this same error in the leaderboard

This commit is contained in:
justcool393 2023-08-09 04:05:54 -05:00
parent a60f570c7b
commit 5afb3aaf03

View file

@ -2,17 +2,18 @@ from dataclasses import dataclass
from typing import Any, Callable, Final, Optional from typing import Any, Callable, Final, Optional
from sqlalchemy import Column, func from sqlalchemy import Column, func
from sqlalchemy.orm import Session, Query from sqlalchemy.orm import Query, Session
from sqlalchemy.orm.attributes import InstrumentedAttribute from sqlalchemy.orm.attributes import InstrumentedAttribute
from sqlalchemy.sql.expression import text
from files.helpers.config.const import LEADERBOARD_LIMIT
from files.classes.badges import Badge from files.classes.badges import Badge
from files.classes.marsey import Marsey from files.classes.marsey import Marsey
from files.classes.user import User from files.classes.user import User
from files.classes.userblock import UserBlock from files.classes.userblock import UserBlock
from files.helpers.config.const import LEADERBOARD_LIMIT
from files.helpers.get import get_accounts_dict from files.helpers.get import get_accounts_dict
@dataclass(frozen=True, slots=True) @dataclass(frozen=True, slots=True)
class LeaderboardMeta: class LeaderboardMeta:
header_name:str header_name:str
@ -180,7 +181,7 @@ class RawSqlLeaderboard(Leaderboard):
self._calculate(query) self._calculate(query)
def _calculate(self, query:str): def _calculate(self, query:str):
self.result = {result[0]:list(result) for result in self.db.execute(query).all()} self.result = {result[0]:list(result) for result in self.db.execute(text(query)).all()}
users = get_accounts_dict(self.result.keys(), db=self.db) users = get_accounts_dict(self.result.keys(), db=self.db)
if users is None: if users is None:
raise Exception("Some users don't exist when they should (was a user deleted?)") raise Exception("Some users don't exist when they should (was a user deleted?)")