@@ -570,27 +570,25 @@ async def __get_karma(self, user) -> float:
570570 )
571571 recent_records = recent_records .scalars ().all ()
572572
573- # has_attended_once = (
574- # await session.scalar(
575- # select(func.count())
576- # .select_from(models.event.EventMultipliers)
577- # .where(
578- # models.event.EventMultipliers.user_id == user_id,
579- # models.event.EventMultipliers.attended.is_(True),
580- # )
581- # )
582- # ) > 0
583-
584- # has_global_records = (
585- # await session.scalar(
586- # select(func.count()).select_from(models.event.EventMultipliers)
587- # )
588- # ) > 0
589-
590- # if not has_attended_once and has_global_records:
591- # return 0
592-
593- # to be uncommented if whomegalols start swaying votes too hard
573+ has_attended_once = (
574+ await session .scalar (
575+ select (func .count ())
576+ .select_from (models .event .EventMultipliers )
577+ .where (
578+ models .event .EventMultipliers .user_id == user .id ,
579+ models .event .EventMultipliers .attended .is_ (True ),
580+ )
581+ )
582+ ) > 0
583+
584+ has_global_records = (
585+ await session .scalar (
586+ select (func .count ()).select_from (models .event .EventMultipliers )
587+ )
588+ ) > 0
589+
590+ if not has_attended_once and has_global_records :
591+ return 0
594592
595593 # attended = sum(1 for r in recent_records if r.attended)
596594 missed = sum (
@@ -605,7 +603,7 @@ async def __get_karma(self, user) -> float:
605603 )
606604 ) or 0
607605
608- karma = 100 - missed * 10
606+ karma = 100 - missed * 25
609607 return min (100 , karma ) + bonus
610608
611609 # This is very slow, takes upwards of N seconds where N is the number of entries
0 commit comments