Fehler bei Vergabe von Bonuspunkte korrigiert.
Kommentare für Bonuspunkte werden jetzt als Kommentar beim Spieler hinterlassen, nicht als Kommentar in der Hanchan. FIXED: 3_in_a_row counter wurde nicht zurückgesetzt wenn Bonuspunkte vergeben wurden. FIXED: Durchschnittliche Platzierung während eines Events wurde nur als Ganzzahl berechnet. Wird nun als Fießkomma berechnet und gesichert.
This commit is contained in:
@@ -36,38 +36,41 @@ class DenormalizationUpdateMiddleware(object):
|
||||
cache.set('ladder_ranking_queue', set(), 360)
|
||||
|
||||
for event_id in self.event_queue:
|
||||
self.update_event_placement()
|
||||
self.update_event_placements()
|
||||
for season in self.season_queue:
|
||||
self.update_season_placements()
|
||||
|
||||
|
||||
|
||||
return response
|
||||
|
||||
def recalculate_event_rankings(self, queue):
|
||||
# recalculate tournament (event) rankings:
|
||||
for event_id, user_id in queue:
|
||||
logger.info("recalculate %d tournament Ranking in %s", user_id, event_id)
|
||||
ranking = models.EventRanking.objects.get_or_create(event_id=event_id, user_id=user_id)[0]
|
||||
logger.info("recalculate %d tournament Ranking in %s",
|
||||
user_id, event_id)
|
||||
ranking = models.EventRanking.objects.get_or_create(
|
||||
event_id=event_id, user_id=user_id)[0]
|
||||
ranking.recalculate()
|
||||
self.event_queue.add(event_id)
|
||||
return queue
|
||||
|
||||
def recalulate_kyu_dan_ranking(self, queue):
|
||||
for user_id in queue:
|
||||
ranking = models.KyuDanRanking.objects.get_or_create(user_id=user_id)[0]
|
||||
ranking = models.KyuDanRanking.objects.get_or_create(user_id=user_id)[
|
||||
0]
|
||||
ranking.recalculate()
|
||||
return queue
|
||||
|
||||
def recalculate_ladder_ranking(self, queue):
|
||||
for season, user_id in queue:
|
||||
ladder = models.SeasonRanking.objects.get_or_create(user_id=user_id, season=season)[0]
|
||||
ladder = models.SeasonRanking.objects.get_or_create(
|
||||
user_id=user_id, season=season)[0]
|
||||
ladder.recalculate()
|
||||
self.season_queue.add(season)
|
||||
|
||||
def update_event_placements(self):
|
||||
for event_id in self.event_queue:
|
||||
eventranking_set = models.EventRanking.objects.filter(event_id=event_id).order_by('avg_placement', '-avg_score')
|
||||
eventranking_set = models.EventRanking.objects.filter(
|
||||
event_id=event_id).order_by('avg_placement', '-avg_score')
|
||||
placement = 1
|
||||
for ranking in eventranking_set:
|
||||
ranking.placement = placement
|
||||
|
||||
Reference in New Issue
Block a user