def setUpClass(cls): cls.shows = [] show = TVShow(1, 121361) show.name = "Italian Works" show.episodes = [] episode = TVEpisode(show, 5, 10) episode.name = "Pines of Rome" episode.scene_season = 5 episode.scene_episode = 10 show.episodes.append(episode) cls.shows.append(show)
def test_process(self): show = TVShow(1, 3) show.name = test.SHOW_NAME show.location = test.SHOW_DIR show.save_to_db() app.showList = [show] episode = TVEpisode(show, test.SEASON, test.EPISODE) episode.name = "some episode name" episode.save_to_db() addNameToCache('show name', 3) app.PROCESS_METHOD = 'move' post_processor = PostProcessor(test.FILE_PATH) self.assertTrue(post_processor.process())
def create(show, season, episode, filepath='', **kwargs): monkeypatch.setattr('medusa.tv.TVEpisode._specify_episode', lambda method, season, episode: None) target = TVEpisode(show=show, season=season, episode=episode, filepath=filepath) return _patch_object(monkeypatch, target, **kwargs)
def test_init_empty_db(self): show = TVShow(1, 1, "en") episode = TVEpisode(show, 1, 1) episode.name = "asdasdasdajkaj" episode.save_to_db() episode.load_from_db(1, 1) self.assertEqual(episode.name, "asdasdasdajkaj")
def do_test(): """Test to perform.""" global search_items # pylint: disable=global-statement search_items = cur_data["i"] show = TVShow(1, tvdb_id) show.name = show_name show.quality = cur_data["q"] show.save_to_db() app.showList.append(show) episode = None for epNumber in cur_data["e"]: episode = TVEpisode(show, cur_data["s"], epNumber) episode.status = common.WANTED episode.save_to_db() best_result = searchProviders(show, episode.episode, force_search) if not best_result: assert cur_data["b"] == best_result # pylint: disable=no-member assert cur_data[ "b"] == best_result.name # first is expected, second is chosen one
def setUpClass(cls): """Setup class for tests.""" num_legacy_shows = 3 num_shows = 3 num_episodes_per_show = 5 cls.mydb = db.DBConnection() cls.legacy_shows = [] cls.shows = [] # Per-show-notifications were originally added for email notifications only. To add # this feature to other notifiers, it was necessary to alter the way text is stored in # one of the DB columns. Therefore, to test properly, we must create some shows that # store emails in the old method (legacy method) and then other shows that will use # the new method. for show_counter in range(100, 100 + num_legacy_shows): show = TVShow(1, show_counter) show.name = "Show " + str(show_counter) show.episodes = [] for episode_counter in range(0, num_episodes_per_show): episode = TVEpisode(show, test.SEASON, episode_counter) episode.name = "Episode " + str(episode_counter + 1) episode.quality = "SDTV" show.episodes.append(episode) show.save_to_db() cls.legacy_shows.append(show) for show_counter in range(200, 200 + num_shows): show = TVShow(1, show_counter) show.name = "Show " + str(show_counter) show.episodes = [] for episode_counter in range(0, num_episodes_per_show): episode = TVEpisode(show, test.SEASON, episode_counter) episode.name = "Episode " + str(episode_counter + 1) episode.quality = "SDTV" show.episodes.append(episode) show.save_to_db() cls.shows.append(show)
def do_test(): """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.save_to_db() app.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.save_to_db() cur_provider.show = show season_strings = cur_provider._get_season_search_strings(episode) # pylint: disable=protected-access episode_strings = cur_provider._get_episode_search_strings(episode) # pylint: disable=protected-access 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(" %s is using a wrong string 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(" %s is using a wrong string 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) # pylint: disable=protected-access if not items: print("No results from cur_provider?") continue title, url = cur_provider._get_title_and_url(items[0]) # pylint: disable=protected-access for word in show.name.split(" "): if not word.lower() in title.lower(): print("Show cur_name not in title: %s. URL: %s" % (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]) # pylint: disable=protected-access if not show.quality & quality: print("Quality not in common.ANY, %r %s" % (quality, size)) continue