def update(self,steamid): friendids = Player.get_friends(steamid) steamids_string = ','.join(str(e) for e in friendids) + ',' + steamid data = urllib2.urlopen("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" + steam_api_key + "&steamids=" + steamids_string + "&format=json") players_data = simplejson.load(data) for player_data in players_data["response"]["players"]: player, _ = Player.objects.get_or_create(steamid=player_data["steamid"]) self.games(player_data["steamid"],player) player.name = player_data["personaname"] player.slug = slugify(unicode(player.name)) player.avatar = player_data["avatar"] player.state = player_data["personastate"] player.profileurl = player_data["profileurl"] player.lastlogoff = player_data["lastlogoff"] if player_data["communityvisibilitystate"] == 3: player.friends = Player.get_friends(player_data["steamid"]) try: player.realname = player_data["realname"] player.gameid = player_data["gameid"] player.gameserverip = player_data["gameserverip"] except: pass player.save() player, _ = Player.objects.get_or_create(steamid=steamid) return player
def games(self,steamid,player): games_data = Player.get_owned_games(steamid) user_gameids = map(lambda game: str(game["appid"]), games_data["response"]["games"]) player.games.add(*user_gameids)