def test_retrieve(self): f = os.path.join(os.path.dirname(__file__), '..', '..', 'resources', 'tests', 'testdata', 'nfo', 'Amiga', 'Arkanoid I.nfo') scraper = NFO_Scraper() scraper.nfo_file = f result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Arkanoid"], result['Game']) self.assertEqual(["1987"], result['ReleaseYear']) self.assertEqual(["Discovery"], result['Publisher']) self.assertEqual(["Taito"], result['Developer']) self.assertEqual(["Top-Down"], result['Perspective']) self.assertEqual(["Joystick"], result['Controller']) self.assertEqual(["Floppy"], result['Media']) self.assertEqual(["USA"], result['Region']) self.assertEqual(["v1.00"], result['Version']) self.assertEqual(["1"], result['Players']) self.assertEqual(["0"], result['LaunchCount']) self.assertEqual(["0"], result['IsFavorite']) self.assertEqual(["3.8"], result['Rating']) self.assertEqual(["128"], result['Votes']) self.assertTrue(result['Description'][0].startswith("The original Breakout concept involves controlling a bat at the bottom of the screen")) self.assertEqual(len(result['Genre']), 2) self.assertIn("Action", result['Genre']) self.assertIn("Platform", result['Genre'])
def test_createNfoFromDesc_newfile_missinginfos(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse(os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() writer.createNfoFromDesc('Airborne Ranger', #gamename '', #plot 'Amiga', #romCollectionname '', #publisher '', #developer '', #year '', #players '', #rating '', #votes '', #url '', #region '', #media '', #perspective '', #controller '', #originalTitle '', #alternateTitle '', #version [], #genreList '', #isFavorite '', #launchCount './testdata/roms/Amiga/Airborne Ranger.adf', #romFile 'Airborne Ranger', #gamenameFromFile {}, #artworkfiles {} #artworkurls ) self.assertTrue(os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual([None], result['OriginalTitle']) self.assertEqual([None], result['AlternateTitle']) self.assertEqual([None], result['ReleaseYear']) self.assertEqual([None], result['Publisher']) self.assertEqual([None], result['Developer']) self.assertEqual([None], result['Perspective']) self.assertEqual([None], result['Controller']) self.assertEqual([None], result['Media']) self.assertEqual([None], result['Region']) self.assertEqual([None], result['Version']) self.assertEqual([None], result['Players']) self.assertEqual([None], result['LaunchCount']) self.assertEqual([None], result['IsFavorite']) self.assertEqual([None], result['Rating']) self.assertEqual([None], result['Votes']) self.assertEqual([None], result['Description']) self.assertEqual(len(result['Genre']), 0) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')
def test_retrieve(self): f = os.path.join(os.path.dirname(__file__), '..', '..', 'resources', 'tests', 'testdata', 'nfo', 'Amiga', 'Arkanoid I.nfo') scraper = NFO_Scraper() scraper.nfo_file = f result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Arkanoid"], result['Game']) self.assertEqual(["1987"], result['ReleaseYear']) self.assertEqual(["Discovery"], result['Publisher']) self.assertEqual(["Taito"], result['Developer']) self.assertEqual(["Top-Down"], result['Perspective']) self.assertEqual(["Joystick"], result['Controller']) self.assertEqual(["Floppy"], result['Media']) self.assertEqual(["USA"], result['Region']) self.assertEqual(["v1.00"], result['Version']) self.assertEqual(["1"], result['Players']) self.assertEqual(["0"], result['LaunchCount']) self.assertEqual(["0"], result['IsFavorite']) self.assertEqual(["3.8"], result['Rating']) self.assertEqual(["128"], result['Votes']) self.assertTrue(result['Description'][0].startswith( "The original Breakout concept involves controlling a bat at the bottom of the screen" )) self.assertEqual(len(result['Genre']), 2) self.assertIn("Action", result['Genre']) self.assertIn("Platform", result['Genre'])
def test_search(self): f = os.path.join(os.path.dirname(__file__), '..', '..', 'resources', 'tests', 'testdata', 'nfo', 'Amiga', 'Arkanoid I.nfo') scraper = NFO_Scraper() scraper.nfo_file = f results = scraper.search("Arkanoid") self.assertEqual(1, len(results)) self.assertEqual("Arkanoid", results[0]['id']) self.assertEqual("Arkanoid", results[0]['title']) with self.assertRaises(KeyError): results[0]['SearchKey']
def test_createNfoFromDesc_newfile(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() game_row = [None] * GameView.NUM_COLUMNS game_row[GameView.COL_NAME] = 'Airborne Ranger' game_row[ GameView. COL_description] = "Description with some special characters: ' & < >" game_row[GameView.COL_publisher] = '"MicroProse"' game_row[GameView.COL_developer] = 'Imagitec' game_row[GameView.COL_year] = '1989' game_row[GameView.COL_maxPlayers] = '1' game_row[GameView.COL_rating] = '3.2' game_row[GameView.COL_numVotes] = '128' game_row[GameView.COL_url] = '' game_row[GameView.COL_region] = 'USA' game_row[GameView.COL_media] = 'Floppy' game_row[GameView.COL_perspective] = 'Top-Down' game_row[GameView.COL_controllerType] = 'Joystick' game_row[GameView.COL_originalTitle] = 'Airborne Ranger' game_row[GameView.COL_alternateTitle] = 'Airborne Ranger' game_row[GameView.COL_version] = 'v1.00' game_row[GameView.COL_genre] = 'Action, Simulation' game_row[GameView.COL_isFavorite] = '1' game_row[GameView.COL_launchCount] = '1' writer.createNfoFromDesc(game_row, 'Amiga', './testdata/roms/Amiga/Airborne Ranger.adf', 'Airborne Ranger', {}, {}) self.assertTrue( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual(["Airborne Ranger"], result['OriginalTitle']) self.assertEqual(["Airborne Ranger"], result['AlternateTitle']) self.assertEqual(["1989"], result['ReleaseYear']) self.assertEqual(['"MicroProse"'], result['Publisher']) self.assertEqual(["Imagitec"], result['Developer']) self.assertEqual(["Top-Down"], result['Perspective']) self.assertEqual(["Joystick"], result['Controller']) self.assertEqual(["Floppy"], result['Media']) self.assertEqual(["USA"], result['Region']) self.assertEqual(["v1.00"], result['Version']) self.assertEqual(["1"], result['Players']) self.assertEqual(["1"], result['LaunchCount']) self.assertEqual(["1"], result['IsFavorite']) self.assertEqual(["3.2"], result['Rating']) self.assertEqual(["128"], result['Votes']) self.assertTrue(result['Description'][0].startswith( "Description with some special characters: ' & < >")) self.assertEqual(len(result['Genre']), 2) self.assertIn("Action", result['Genre']) self.assertIn("Simulation", result['Genre']) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')
def test_createNfoFromDesc_newfile_missinginfos(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() game_row = [None] * GameView.NUM_COLUMNS game_row[GameView.COL_NAME] = 'Airborne Ranger' game_row[GameView.COL_description] = '' game_row[GameView.COL_publisher] = '' game_row[GameView.COL_developer] = '' game_row[GameView.COL_year] = '' game_row[GameView.COL_maxPlayers] = '' game_row[GameView.COL_rating] = '' game_row[GameView.COL_numVotes] = '' game_row[GameView.COL_url] = '' game_row[GameView.COL_region] = '' game_row[GameView.COL_media] = '' game_row[GameView.COL_perspective] = '' game_row[GameView.COL_controllerType] = '' game_row[GameView.COL_originalTitle] = '' game_row[GameView.COL_alternateTitle] = '' game_row[GameView.COL_version] = '' game_row[GameView.COL_genre] = '' game_row[GameView.COL_isFavorite] = '' game_row[GameView.COL_launchCount] = '' writer.createNfoFromDesc(game_row, 'Amiga', './testdata/roms/Amiga/Airborne Ranger.adf', 'Airborne Ranger', {}, {}) self.assertTrue( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual([None], result['OriginalTitle']) self.assertEqual([None], result['AlternateTitle']) self.assertEqual([None], result['ReleaseYear']) self.assertEqual([None], result['Publisher']) self.assertEqual([None], result['Developer']) self.assertEqual([None], result['Perspective']) self.assertEqual([None], result['Controller']) self.assertEqual([None], result['Media']) self.assertEqual([None], result['Region']) self.assertEqual([None], result['Version']) self.assertEqual([None], result['Players']) self.assertEqual([None], result['LaunchCount']) self.assertEqual([None], result['IsFavorite']) self.assertEqual([None], result['Rating']) self.assertEqual([None], result['Votes']) self.assertEqual([None], result['Description']) self.assertEqual(len(result['Genre']), 0) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')
def test_createNfoFromDesc_newfile(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse(os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() writer.createNfoFromDesc('Airborne Ranger', #gamename "Description with some special characters: ' & < >", #plot 'Amiga', #romCollectionname '"MicroProse"', #publisher 'Imagitec', #developer '1989', #year '1', #players '3.2', #rating '128', #votes '', #url 'USA', #region 'Floppy', #media 'Top-Down', #perspective 'Joystick', #controller 'Airborne Ranger', #originalTitle 'Airborne Ranger', #alternateTitle 'v1.00', #version ['Action', 'Simulation'], #genreList '1', #isFavorite '1', #launchCount './testdata/roms/Amiga/Airborne Ranger.adf', #romFile 'Airborne Ranger', #gamenameFromFile {}, #artworkfiles {} #artworkurls ) self.assertTrue(os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual(["Airborne Ranger"], result['OriginalTitle']) self.assertEqual(["Airborne Ranger"], result['AlternateTitle']) self.assertEqual(["1989"], result['ReleaseYear']) self.assertEqual(['"MicroProse"'], result['Publisher']) self.assertEqual(["Imagitec"], result['Developer']) self.assertEqual(["Top-Down"], result['Perspective']) self.assertEqual(["Joystick"], result['Controller']) self.assertEqual(["Floppy"], result['Media']) self.assertEqual(["USA"], result['Region']) self.assertEqual(["v1.00"], result['Version']) self.assertEqual(["1"], result['Players']) self.assertEqual(["1"], result['LaunchCount']) self.assertEqual(["1"], result['IsFavorite']) self.assertEqual(["3.2"], result['Rating']) self.assertEqual(["128"], result['Votes']) self.assertTrue(result['Description'][0].startswith( "Description with some special characters: ' & < >")) self.assertEqual(len(result['Genre']), 2) self.assertIn("Action", result['Genre']) self.assertIn("Simulation", result['Genre']) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')
def test_createNfoFromDesc_newfile(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() writer.createNfoFromDesc( 'Airborne Ranger', #gamename "Description with some special characters: ' & < >", #plot 'Amiga', #romCollectionname '"MicroProse"', #publisher 'Imagitec', #developer '1989', #year '1', #players '3.2', #rating '128', #votes '', #url 'USA', #region 'Floppy', #media 'Top-Down', #perspective 'Joystick', #controller 'Airborne Ranger', #originalTitle 'Airborne Ranger', #alternateTitle 'v1.00', #version ['Action', 'Simulation'], #genreList '1', #isFavorite '1', #launchCount './testdata/roms/Amiga/Airborne Ranger.adf', #romFile 'Airborne Ranger', #gamenameFromFile {}, #artworkfiles {} #artworkurls ) self.assertTrue( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual(["Airborne Ranger"], result['OriginalTitle']) self.assertEqual(["Airborne Ranger"], result['AlternateTitle']) self.assertEqual(["1989"], result['ReleaseYear']) self.assertEqual(['"MicroProse"'], result['Publisher']) self.assertEqual(["Imagitec"], result['Developer']) self.assertEqual(["Top-Down"], result['Perspective']) self.assertEqual(["Joystick"], result['Controller']) self.assertEqual(["Floppy"], result['Media']) self.assertEqual(["USA"], result['Region']) self.assertEqual(["v1.00"], result['Version']) self.assertEqual(["1"], result['Players']) self.assertEqual(["1"], result['LaunchCount']) self.assertEqual(["1"], result['IsFavorite']) self.assertEqual(["3.2"], result['Rating']) self.assertEqual(["128"], result['Votes']) self.assertTrue(result['Description'][0].startswith( "Description with some special characters: ' & < >")) self.assertEqual(len(result['Genre']), 2) self.assertIn("Action", result['Genre']) self.assertIn("Simulation", result['Genre']) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')
def test_createNfoFromDesc_newfile_missinginfos(self): xbmcaddon._settings['rcb_nfoFolder'] = './testdata/nfo/' self.assertFalse( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'nfo file should not exist') writer = NfoWriter() writer.createNfoFromDesc( 'Airborne Ranger', #gamename '', #plot 'Amiga', #romCollectionname '', #publisher '', #developer '', #year '', #players '', #rating '', #votes '', #url '', #region '', #media '', #perspective '', #controller '', #originalTitle '', #alternateTitle '', #version [], #genreList '', #isFavorite '', #launchCount './testdata/roms/Amiga/Airborne Ranger.adf', #romFile 'Airborne Ranger', #gamenameFromFile {}, #artworkfiles {} #artworkurls ) self.assertTrue( os.path.isfile('./testdata/nfo/Amiga/Airborne Ranger.nfo'), 'Expected nfo file to be written') #use nfo scraper to read the file scraper = NFO_Scraper() scraper.nfo_file = './testdata/nfo/Amiga/Airborne Ranger.nfo' result = scraper.retrieve(1, 'Amiga') self.assertEqual(["Airborne Ranger"], result['Game']) self.assertEqual([None], result['OriginalTitle']) self.assertEqual([None], result['AlternateTitle']) self.assertEqual([None], result['ReleaseYear']) self.assertEqual([None], result['Publisher']) self.assertEqual([None], result['Developer']) self.assertEqual([None], result['Perspective']) self.assertEqual([None], result['Controller']) self.assertEqual([None], result['Media']) self.assertEqual([None], result['Region']) self.assertEqual([None], result['Version']) self.assertEqual([None], result['Players']) self.assertEqual([None], result['LaunchCount']) self.assertEqual([None], result['IsFavorite']) self.assertEqual([None], result['Rating']) self.assertEqual([None], result['Votes']) self.assertEqual([None], result['Description']) self.assertEqual(len(result['Genre']), 0) os.remove('./testdata/nfo/Amiga/Airborne Ranger.nfo')