def query_game_information(self, nvapp): game_info = [] self.logger.info("Trying to get information for game: %s" % nvapp.title) if nvapp.title not in self.game_blacklist: for scraper in self.scraper_chain: if scraper.is_enabled(): game_info.append(Game.from_api_response(scraper.get_game_information(nvapp))) else: game = Game(nvapp.title, None) if nvapp.title == 'Steam': fanart_path = os.path.join(self.plugin.addon.getAddonInfo('path'), 'resources/statics/steam_wallpaper___globe_by_diglididudeng-d7kq9v9.jpg') fanart = Fanart(fanart_path, fanart_path) game.fanarts[os.path.basename(fanart_path)] = fanart for scraper in self.scraper_chain: if scraper.name() == 'NvHTTP': game.posters = scraper.get_game_information(nvapp).posters game_info.append(game) game = game_info[0] while len(game_info) > 1: next_game = game_info.pop() game.merge(next_game) return game
def query_game_information(self, game_name): """ :type game_name: str :rtype game: Game """ game_info = [] self.logger.info("Trying to get information for game: %s" % game_name) if game_name not in self.game_blacklist: for scraper in self.scraper_chain: if scraper.is_enabled(): game_info.append(Game.from_api_response(scraper.get_game_information(game_name))) else: game = Game(game_name, None) if game_name == 'Steam': fanart_path = os.path.join(self.plugin.addon.getAddonInfo('path'), 'resources/statics/steam_wallpaper___globe_by_diglididudeng-d7kq9v9.jpg') fanart = Fanart(fanart_path, fanart_path) game.fanarts[os.path.basename(fanart_path)] = fanart game_info.append(game) game = game_info[0] while len(game_info) > 1: next_game = game_info.pop() game.merge(next_game) return game
def testGameMergeSelfNone(self): game1 = Game('Name') game2 = Game('Name') game2.genre = ['Action', 'Adventure'] game2.posters = ['/path/to/poster'] game2.fanarts = ['path/to/art/1', 'path/to/art/2', 'path/to/art/3'] game1.merge(game2) self.assertEqual(game1.genre, ['Action', 'Adventure']) self.assertEqual(game1.posters, ['/path/to/poster']) self.assertEqual(game1.fanarts, ['path/to/art/1', 'path/to/art/2', 'path/to/art/3']) self.assertEqual(game1.get_selected_fanart(), 'path/to/art/1') self.assertEqual(game1.get_selected_poster(), '/path/to/poster')
def testGameMergeSelfFilled(self): game1 = Game('Name') game1.genre = ['Shooter', 'Adventure'] game1.posters = ['/path/to/poster/original'] game1.fanarts = ['path/to/art/1-1', 'path/to/art/1-2', 'path/to/art/1-3'] game2 = Game('Name') game2.genre = ['Action', 'Adventure'] game2.posters = ['/path/to/poster'] game2.fanarts = ['path/to/art/1', 'path/to/art/2', 'path/to/art/1-3'] game1.merge(game2) self.assertEqual(game1.genre, ['Action', 'Adventure', 'Shooter']) self.assertEqual('/path/to/poster/original' in game1.posters, True) self.assertEqual('/path/to/poster' in game1.posters, True) self.assertEqual('path/to/art/1' in game1.fanarts, True) self.assertEqual('path/to/art/2' in game1.fanarts, True) self.assertEqual('path/to/art/1-1' in game1.fanarts, True) self.assertEqual('path/to/art/1-2' in game1.fanarts, True) self.assertEqual('path/to/art/1-3' in game1.fanarts, True)
def testGameMergeSelfFilled(self): game1 = Game('Name') game1.genre = ['Shooter', 'Adventure'] game1.posters = ['/path/to/poster/original'] game1.fanarts = [ 'path/to/art/1-1', 'path/to/art/1-2', 'path/to/art/1-3' ] game2 = Game('Name') game2.genre = ['Action', 'Adventure'] game2.posters = ['/path/to/poster'] game2.fanarts = ['path/to/art/1', 'path/to/art/2', 'path/to/art/1-3'] game1.merge(game2) self.assertEqual(game1.genre, ['Action', 'Adventure', 'Shooter']) self.assertEqual('/path/to/poster/original' in game1.posters, True) self.assertEqual('/path/to/poster' in game1.posters, True) self.assertEqual('path/to/art/1' in game1.fanarts, True) self.assertEqual('path/to/art/2' in game1.fanarts, True) self.assertEqual('path/to/art/1-1' in game1.fanarts, True) self.assertEqual('path/to/art/1-2' in game1.fanarts, True) self.assertEqual('path/to/art/1-3' in game1.fanarts, True)