def load_all_players(self, start=1): yql = YQL() players = yql.all_players(GAME_KEY, start=start, count=25) while players.rows != []: for player in players.rows: p = Player.from_json(player) print p start = start + 25 players = yql.all_players(GAME_KEY, start=start, count=25)
def get_player_stats(self, player_key): yql = YQL() stats = yql.player_stats(LEAGUE_KEY, player_key) # Check if we have a stats object already existing in the DB. If not, create. try: stat_db = PlayerStat.objects.get(player=player_key) except PlayerStat.DoesNotExist: stat_db = PlayerStat.from_json(stats, player_key) player_key = stats.rows[0]['player_key'] self.update_player_stats(stats.rows[0]['player_stats']['stats']['stat'], player_key)
def load_all_player_stats(self, start=0, count=25): yql = YQL() # Get existing player stats ps = PlayerStat.objects.all().values_list('player_id', flat=True) print "exclude list", ps players = Player.objects.exclude(player_key__in=ps) while start+count < len(players): update_players = Player.objects.values_list('player_key', flat=True)[start:start+count] update_stats = yql.mass_player_stats(LEAGUE_KEY, update_players) for update_stat in update_stats.rows: print "stats", update_stat try: stats = update_stat['player_stats']['stats']['stat'] except Exception: continue player_key = update_stat['player_key'] for stat in stats: try: ps = PlayerStat.from_json(stat, player_key=player_key) except Exception: continue print ps start = start+count
def add_player(self, player_key): yql = YQL() p = yql.player(GAME_KEY, player_key) player = Player.from_json(p) logger.debug("Added new player: {0}".format(player.name))