def generate_sample_ep(multi=None, abd=False, sports=False, anime_type=None): series = Series(indexer=1, indexerid=12345, lang='en') series.name = 'Show Name' series.genre = 'Comedy' if anime_type: series.anime = 1 # make a fake episode object ep = Episode(series=series, season=2, episode=3) ep.status = DOWNLOADED ep.quality = Quality.HDTV ep.airdate = datetime.date(2011, 3, 9) ep.name = 'Ep Name' ep.absolute_number = 13 ep.release_name = 'Show.Name.S02E03.HDTV.x264-RLSGROUP' ep.is_proper = True if abd: ep.release_name = 'Show.Name.2011.03.09.HDTV.x264-RLSGROUP' ep.series.air_by_date = 1 elif sports: ep.release_name = 'Show.Name.2011.03.09.HDTV.x264-RLSGROUP' ep.series.sports = 1 elif anime_type: ep.release_name = 'Show.Name.013.HDTV.x264-RLSGROUP' if multi is not None: ep.name = 'Ep Name (1)' ep.release_name = 'Show.Name.S02E03E04E05.HDTV.x264-RLSGROUP' if anime_type: ep.release_name = 'Show.Name.013-015.HDTV.x264-RLSGROUP' second_ep = Episode(series, 2, 4) second_ep.name = 'Ep Name (2)' second_ep.status = DOWNLOADED second_ep.quality = Quality.HDTV second_ep.absolute_number = 14 second_ep.release_name = ep.release_name third_ep = Episode(series, 2, 5) third_ep.name = 'Ep Name (3)' third_ep.status = DOWNLOADED third_ep.quality = Quality.HDTV third_ep.absolute_number = 15 third_ep.release_name = ep.release_name ep.related_episodes.append(second_ep) ep.related_episodes.append(third_ep) return ep
def do_test(): """Test to perform.""" global search_items # pylint: disable=global-statement search_items = cur_data["i"] show = Series(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 = Episode(show, cur_data["s"], epNumber) episode.status = common.WANTED episode.save_to_db() best_result = search_providers(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 do_test(self): """Test to perform.""" series = Series(1, int(cur_data["tvdbid"])) series.name = cur_name series.quality = common.ANY | common.Quality.UNKNOWN | common.Quality.RAWHDTV # series.save_to_db() # app.showList.append(series) for ep_number in cur_data["e"]: episode = Episode(series, 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.series = series 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 series.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 series.quality & quality: print("Quality not in common.ANY, %r %s" % (quality, size)) continue
def do_test(self): """Test to perform.""" series = Series(1, int(cur_data["tvdbid"])) series.name = cur_name series.quality = common.ANY | common.Quality.UNKNOWN | common.Quality.RAWHDTV # series.save_to_db() # app.showList.append(series) for ep_number in cur_data["e"]: episode = Episode(series, 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.series = series 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 series.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 series.quality & quality: print("Quality not in common.ANY, %r %s" % (quality, size)) continue