def setUp(self): settings.showList = [] setup_test_db() setup_test_episode_file() setup_test_show_dir() setup_test_processing_dir() self.show = TVShow(1, 1, "en") self.show.name = SHOW_NAME self.show.location = FILE_DIR self.show.imdb_info = {"indexer_id": self.show.indexerid, "imdb_id": "tt000000"} self.show.episodes = {} for season in range(1, NUM_SEASONS): self.show.episodes[season] = {} for episode in range(1, EPISODES_PER_SEASON): if season == SEASON and episode == EPISODE: episode = TVEpisode(self.show, season, episode, ep_file=FILE_PATH) else: episode = TVEpisode(self.show, season, episode) self.show.episodes[season][episode] = episode episode.saveToDB() self.show.saveToDB() settings.showList = [self.show]
def do_test(): """ Test to perform """ global search_items search_items = cur_data["i"] show = TVShow(1, tvdb_id) show.name = show_name show.quality = cur_data["q"] show.saveToDB() settings.showList.append(show) episode = None for epNumber in cur_data["e"]: episode = TVEpisode(show, cur_data["s"], epNumber) episode.status = common.WANTED episode.saveToDB() best_result = search.searchProviders(show, episode.episode, force_search) if not best_result: assert cur_data["b"] == best_result assert cur_data[ "b"] == best_result.name # first is expected, second is chosen one
def test_init_empty_db(self): """ test init empty db """ show = TVShow(1, 1, "en") episode = TVEpisode(show, 1, 1) episode.name = "asdasdasdajkaj" episode.saveToDB() episode.loadFromDB(1, 1) assert episode.name == "asdasdasdajkaj"
def test_process(self): """ Test process """ show = TVShow(1, 3) show.name = test.SHOW_NAME show.location = test.SHOW_DIR show.saveToDB() settings.showList = [show] episode = TVEpisode(show, test.SEASON, test.EPISODE) episode.name = "some episode name" episode.saveToDB() add_name('show name', 3) settings.PROCESS_METHOD = 'move' post_processor = PostProcessor(test.FILE_PATH) self.assertTrue(post_processor.process())
def test_process(self): """ Test process """ show = TVShow(1, 3) show.name = conftest.SHOW_NAME show.location = conftest.SHOW_DIR show.saveToDB() settings.showList = [show] episode = TVEpisode(show, conftest.SEASON, conftest.EPISODE) episode.name = "some episode name" episode.saveToDB() add_name("show name", 3) settings.PROCESS_METHOD = "move" post_processor = PostProcessor(conftest.FILE_PATH) assert post_processor.process()
def do_test(self): """ Test to perform """ show = TVShow(1, int(cur_data["tvdbid"])) show.name = cur_name show.quality = common.ANY | common.Quality.UNKNOWN | common.Quality.RAWHDTV show.saveToDB() settings.showList.append(show) for ep_number in cur_data["e"]: episode = TVEpisode(show, cur_data["s"], ep_number) episode.status = common.WANTED # We aren't updating scene numbers, so fake it here episode.scene_season = cur_data["s"] episode.scene_episode = ep_number episode.saveToDB() cur_provider.show = show season_strings = cur_provider.get_season_search_strings(episode) episode_strings = cur_provider.get_episode_search_strings(episode) fail = False cur_string = "" for cur_string in season_strings, episode_strings: if not all([ isinstance(cur_string, list), isinstance(cur_string[0], dict) ]): print("{0} is using a wrong string format!".format( cur_provider.name)) print(cur_string) fail = True continue if fail: continue try: assert season_strings == cur_data["s_strings"] assert episode_strings == cur_data["e_strings"] except AssertionError: print("{0} is using a wrong string format!".format( cur_provider.name)) print(cur_string) continue search_strings = episode_strings[0] # search_strings.update(season_strings[0]) # search_strings.update({"RSS":['']}) # print(search_strings) if not cur_provider.public: continue items = cur_provider.search(search_strings) if not items: print("No results from cur_provider?") continue title, url = cur_provider._get_title_and_url(items[0]) for word in show.name.split(" "): if not word.lower() in title.lower(): print("Show cur_name not in title: {0}. URL: {1}".format( title, url)) continue if not url: print("url is empty") continue quality = cur_provider.get_quality(items[0]) size = cur_provider._get_size(items[0]) if not show.quality & quality: print("Quality not in common.ANY, {0!r} {1}".format( quality, size)) continue