def _test_allPossibleShowNames(self, name, indexerid=0, expected=[]): s = TVShow(1, indexerid) s.name = name s.saveToDB() s.loadFromDB(skipNFO=True) result = show_names.allPossibleShowNames(s) self.assertTrue( len(set(expected).intersection(set(result))) == len(expected))
def _test_allPossibleShowNames(self, name, indexerid=0, expected=[]): s = TVShow(1, indexerid) s.name = name s.saveToDB() s.loadFromDB(skipNFO=True) result = show_names.allPossibleShowNames(s) self.assertTrue(len(set(expected).intersection(set(result))) == len(expected))
def test_init_empty_db(self): show = TVShow(1, 0001, "en") show.saveToDB() show.loadFromDB(skipNFO=True) ep = TVEpisode(show, 1, 1) ep.name = "asdasdasdajkaj" ep.saveToDB() ep.loadFromDB(1, 1) self.assertEqual(ep.name, "asdasdasdajkaj")
def test_getEpisode(self): show = TVShow(1, 0001, "en") show.name = "show name" show.network = "cbs" show.genre = "crime" show.runtime = 40 show.status = "Ended" show.default_ep_status = "5" show.airs = "monday" show.startyear = 1987 show.saveToDB() show.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST = [show]
def test_process(self): show = TVShow(1, 3) show.name = SHOWNAME show.location = SHOWDIR show.saveToDB() show.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST = [show] ep = TVEpisode(show, SEASON, EPISODE) ep.name = "some ep name" ep.saveToDB() sickrage.srCore.NAMECACHE.addNameToCache('show name', 3) self.pp = PostProcessor(FILEPATH, process_method='move') self.assertTrue(self.pp.process)
def loadFromDB(self): """ Populates the showList with shows from the database """ sqlResults = main_db.MainDB().select("SELECT * FROM tv_shows") for sqlShow in sqlResults: try: curShow = TVShow(int(sqlShow[b"indexer"]), int(sqlShow[b"indexer_id"])) curShow.saveToDB() curShow.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST.append(curShow) except Exception as e: print "There was an error creating the show"
def test_change_indexerid(self): show = TVShow(1, 0001, "en") show.name = "show name" show.network = "cbs" show.genre = "crime" show.runtime = 40 show.status = "Ended" show.default_ep_status = "5" show.airs = "monday" show.startyear = 1987 show.indexerid = 0002 show.saveToDB() show.loadFromDB(skipNFO=True) self.assertEqual(show.indexerid, 0002)
def test_isGoodName(self): listOfcases = [('Show.Name.S01E02.Test-Test', 'Show/Name'), ('Show.Name.S01E02.Test-Test', 'Show. Name'), ('Show.Name.S01E02.Test-Test', 'Show- Name'), ('Show.Name.Part.IV.Test-Test', 'Show Name'), ('Show.Name.S01.Test-Test', 'Show Name'), ('Show.Name.E02.Test-Test', 'Show: Name'), ('Show Name Season 2 Test', 'Show: Name'), ] for testCase in listOfcases: scene_name, show_name = testCase s = TVShow(1, 0) s.name = show_name s.saveToDB() s.loadFromDB(skipNFO=True) self._test_isGoodName(scene_name, s) del s
def test_isGoodName(self): listOfcases = [ ('Show.Name.S01E02.Test-Test', 'Show/Name'), ('Show.Name.S01E02.Test-Test', 'Show. Name'), ('Show.Name.S01E02.Test-Test', 'Show- Name'), ('Show.Name.Part.IV.Test-Test', 'Show Name'), ('Show.Name.S01.Test-Test', 'Show Name'), ('Show.Name.E02.Test-Test', 'Show: Name'), ('Show Name Season 2 Test', 'Show: Name'), ] for testCase in listOfcases: scene_name, show_name = testCase s = TVShow(1, 0) s.name = show_name s.saveToDB() s.loadFromDB(skipNFO=True) self._test_isGoodName(scene_name, s) del s
def test(self): global searchItems searchItems = curData[b"i"] show = TVShow(1, tvdbdid) show.name = show_name show.quality = curData[b"q"] show.saveToDB() show.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST.append(show) episode = None for epNumber in curData[b"e"]: episode = TVEpisode(show, curData[b"s"], epNumber) episode.status = WANTED episode.saveToDB() bestResult = searchProviders(show, episode.episode, forceSearch) if not bestResult: self.assertEqual(curData[b"b"], bestResult) self.assertEqual(curData[b"b"], bestResult.name) # first is expected, second is choosen one
class UnicodeTests(SiCKRAGETestDBCase): def __init__(self, something): super(UnicodeTests, self).__init__(something) self.setUp() self.show = TVShow(1, 1, 'en') self.show.name = "The Big Bang Theory" self.show.saveToDB() self.show.loadFromDB(skipNFO=True) def _test_unicode(self, name, result): np = NameParser(True, showObj=self.show) parse_result = np.parse(name) # this shouldn't raise an exception repr(str(parse_result)) self.assertEqual(parse_result.extra_info, result.extra_info) def test_unicode(self): for (name, result) in unicode_test_cases: self._test_unicode(name, result)
def test(self): global searchItems searchItems = curData[b"i"] show = TVShow(1, tvdbdid) show.name = show_name show.quality = curData[b"q"] show.saveToDB() show.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST.append(show) episode = None for epNumber in curData[b"e"]: episode = TVEpisode(show, curData[b"s"], epNumber) episode.status = WANTED episode.saveToDB() bestResult = searchProviders(show, episode.episode, forceSearch) if not bestResult: self.assertEqual(curData[b"b"], bestResult) self.assertEqual( curData[b"b"], bestResult.name) # first is expected, second is choosen one
def test_set_name(self): show = TVShow(1, 0001, "en") show.name = "newName" show.saveToDB() show.loadFromDB(skipNFO=True) self.assertEqual(show.name, "newName")
def test(self): show = TVShow(1, int(curData[b"tvdbid"])) show.name = name show.quality = ANY | Quality.UNKNOWN | Quality.RAWHDTV show.saveToDB() show.loadFromDB(skipNFO=True) sickrage.srCore.SHOWLIST.append(show) for epNumber in curData[b"e"]: episode = TVEpisode(show, curData[b"s"], epNumber) episode.status = WANTED # We arent updating scene numbers, so fake it here episode.scene_season = curData[b"s"] episode.scene_episode = epNumber episode.saveToDB() provider.show = show season_strings = provider._get_season_search_strings(episode) episode_strings = provider._get_episode_search_strings(episode) fail = False for cur_string in season_strings, episode_strings: if not all([isinstance(cur_string, list), isinstance(cur_string[0], dict)]): print(" %s is using a wrong string format!" % provider.name) print(cur_string) fail = True continue if fail: continue try: assert (season_strings == curData[b"s_strings"]) assert (episode_strings == curData[b"e_strings"]) except AssertionError: continue search_strings = episode_strings[0] # search_strings.update(season_strings[0]) # search_strings.update({"RSS":['']}) # print search_strings if not provider.public: continue items = provider._doSearch(search_strings) if not items: print("No results from provider?") continue title, url = provider._get_title_and_url(items[0]) for word in show.name.split(" "): if not word.lower() in title.lower(): print("Show name not in title: %s. URL: %s" % (title, url)) continue if not url: print("url is empty") continue quality = provider.getQuality(items[0]) size = provider._get_size(items[0]) if not show.quality & quality: print("Quality not in ANY, %r" % quality) continue
def test_init_indexerid(self): show = TVShow(1, 0001, "en") show.saveToDB() show.loadFromDB(skipNFO=True) self.assertEqual(show.indexerid, 0001)