def runHooks(gameTime, postGameHooks): games = CachingGameStore(config.ladderFilePath).loadGames({'now': True}, PresetTransforms.transforms_for_recent()) try: game = next(g for g in games if g.time == gameTime) for hook in postGameHooks: hook(game) except StopIteration: pass
def __init__(self, ladderFilePath, timeRange=None, transforms=None, games=None, postGameHooks=[]): self.games = [] self.players = {} self._recentlyActivePlayers = (-1, []) self._ladderTime = {'now': timeRange is None, 'range': timeRange} self._theTime = time.time() self.postGameHooks = postGameHooks self._gameStore = None if games is None: self._gameStore = CachingGameStore(ladderFilePath) transforms = PresetTransforms.transforms_for_full_games(self._ladderTime) if transforms is None else transforms games = self._gameStore.loadGames(self._ladderTime, transforms) withAchievements = 'achievement' in [t.getName() for t in transforms] if transforms is not None else True self._loadGamesIntoLadder(games, withAchievements)
def __init__(self, ladderFilePath, useCache=True, timeRange=None, transforms=None, games=None): self.games = [] self.players = {} self.achievements = Achievements() self._skillChange = Elo() self._recentlyActivePlayers = (-1, []) self._ladderTime = {'now': timeRange is None, 'range': timeRange} self._theTime = time.time() self._gameStore = None if games is None: self._gameStore = CachingGameStore(ladderFilePath, useCache) transforms = PresetTransforms.transforms_for_full_games( self._ladderTime) if transforms is None else transforms games = self._gameStore.loadGames(self._ladderTime, transforms) self._loadGamesIntoLadder(games)