def update_games_data(games, update_value=False): games_to_add = [] games_to_update_value = [] existing_games = MySqlConnector.get_existing_games_data(games.keys()) for game in sorted(games.values(), key=lambda x: x.game_name): game_name = game.game_name.decode('utf-8') if game_name not in existing_games.keys(): update_game_data(game) games_to_add.append(game) elif update_value and game.value != existing_games[game_name].value: games_to_update_value.append(game) if games_to_add: MySqlConnector.save_games(games_to_add) if games_to_update_value: MySqlConnector.update_existing_games(games_to_update_value)
def update_all_db_games_data(): #Load all games from DB games = MySqlConnector.get_all_games() #Go over all games, and update their data changed_games = [] removed_games = [] for game_data in games: new_game_data = GameData(game_data.game_name, game_data.game_link, game_data.value) update_game_data(new_game_data) if game_data.num_of_reviews == -1 and game_data.steam_score == -1 and game_data.equals(new_game_data): removed_games.append(new_game_data) elif not game_data.equals(new_game_data): changed_games.append(new_game_data) # Save changed games to the DB if changed_games: MySqlConnector.update_existing_games(changed_games) # Delete from DB Games with no available data if removed_games: MySqlConnector.remove_games(removed_games)