Stylesheets werden nur mit Less erzeugt. Damit können sie gleich

optimiert werden.
jQuery wurde entfernt.
Übersetzungen wurden korrigiert.
Neue sync.sh Datei, welche änderungen mit rsync auf den Server spielt
und das neuladen erzwingt.
This commit is contained in:
Christian Berg
2014-12-14 23:57:40 +01:00
parent 711c303f9a
commit 9c2413a794
76 changed files with 2514 additions and 1884 deletions

View File

@@ -0,0 +1,60 @@
# -*- encoding: utf-8 -*-
"""
Created on 22.11.2014
@author: christian
"""
from django.db import models
from . import settings
class GameManager(models.Manager):
use_for_related_fields = True
def player_games(self, player, season=None, **kwargs):
queryset = self.filter(
models.Q(player1=player) | models.Q(player2=player) |
models.Q(player3=player) | models.Q(player4=player) |
models.Q(player5=player) | models.Q(player6=player)
)
if season:
queryset = queryset.filter(season=season)
if kwargs:
queryset = queryset.filter(**kwargs)
return queryset
class LadderManager(models.Manager):
use_for_related_fields = True
def calculate_rankings(self, season):
"""
Berechnet die Jahresrankings für die Spieler neu.
@param season: Das Jahr das neu berechnet werden soll
@type season: Integer
"""
rankings = self.filter(season=season)
rankings.update(placement=None)
rankings = rankings.filter(
games_count__gte=settings.MAISTAR_GAMES_FOR_LADDERRANKING) # @IgnorePep8
rankings = rankings.order_by('avg_placement', '-avg_score')
placement = 1
previous_avg_placement = None
previous_avg_score = None
previous_placement = None
for ranking in rankings:
if ranking.avg_placement == previous_avg_placement \
and ranking.avg_score == previous_avg_score:
ranking.placement = previous_placement
else:
ranking.placement = placement
ranking.save(force_update=True)
previous_avg_placement = ranking.avg_placement
previous_avg_score = ranking.avg_score
previous_placement = ranking.placement
placement += 1
def get_seasons(self):
return self.values_list('season', flat=True).order_by(
'season').distinct()