예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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
예제 #4
0
 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))