def execute(self): generic_queue.QueueItem.execute(self) ep_obj = self.ep_obj force = self.force random.shuffle(SUBTITLE_SERVICES) logger.log("Searching subtitles for " + ep_obj.prettyName()) if not ek.ek(os.path.isfile, ep_obj.location): logger.log( "Can't download subtitles for " + ep_obj.prettyName() + ". Episode file doesn't exist.", logger.DEBUG) return epName = ep_obj.location.rpartition(".")[0] subLanguages = [] if sickbeard.SUBTITLE_LANGUAGES <> '': subLanguages = sickbeard.SUBTITLE_LANGUAGES.split(",") if len(subLanguages) < 1 and ep_obj.show.lang: subLanguages.append(ep_obj.show.lang) if len(subLanguages) < 1: logger.log( "Can't download subtitles for " + ep_obj.prettyName() + ". Configure the language to search at post processing options.", logger.DEBUG) return #for lang in subLanguages: #langS = lang.split("-") #if len(langS) > 1: #subLanguages.append(langS[0]) try: sublimLangs = set() for sub in subLanguages: bLang = Language.fromietf(sub) sublimLangs.add(bLang) sublimEpisode = set() sublimEpisode.add(Episode.fromname(ep_obj.location)) downloadedSubs = subliminal.download_best_subtitles( videos=sublimEpisode, languages=sublimLangs, providers=SUBTITLE_SERVICES) subliminal.save_subtitles(downloadedSubs, directory=os.path.dirname( ep_obj.location)) subCount = 0 for video, video_subtitles in downloadedSubs.items(): for sub in video_subtitles: subPath = subliminal.subtitle.get_subtitle_path( ep_obj.location, sub.language) helpers.chmodAsParent(subPath) subCount += 1 except Exception, e: logger.log( "Error while downloading subtitles for %s: %s" % (ep_obj.prettyName(), str(e)), logger.ERROR) traceback.print_exc() return False
def test_refine_episode_with_country_hoc_us(episodes): episode = Episode.fromname(episodes['house_of_cards_us_s06e01'].name) video_series = episode.series refine(episode, apikey=APIKEY) # omdb has no country info. No match assert episode.series == video_series assert episode.series_imdb_id is None
def test_refine_episode_with_country(episodes): episode = Episode.fromname(episodes['shameless_us_s08e01'].name) video_series = episode.series refine(episode, apikey=APIKEY) # omdb has no country info. No match assert episode.series == video_series assert episode.series_imdb_id is None
def test_refine_episode_with_country_hoc_us(episodes): video = episodes['house_of_cards_us_s06e01'] episode = Episode.fromname(video.name) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series
def test_refine_episode_with_comma(episodes): video = episodes['alex_inc_s01e04'] episode = Episode.fromname(video.name) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series
def execute(self): generic_queue.QueueItem.execute(self) ep_obj = self.ep_obj force = self.force random.shuffle(SUBTITLE_SERVICES) logger.log("Searching subtitles for " + ep_obj.prettyName()) if not ek.ek(os.path.isfile, ep_obj.location): logger.log("Can't download subtitles for " + ep_obj.prettyName() + ". Episode file doesn't exist.", logger.DEBUG) return epName = ep_obj.location.rpartition(".")[0] subLanguages = [] if sickbeard.SUBTITLE_LANGUAGES <> '': subLanguages = sickbeard.SUBTITLE_LANGUAGES.split(",") if len(subLanguages) < 1 and ep_obj.show.lang: subLanguages.append(ep_obj.show.lang) if len(subLanguages) < 1: logger.log("Can't download subtitles for " + ep_obj.prettyName() + ". Configure the language to search at post processing options.", logger.DEBUG) return #for lang in subLanguages: #langS = lang.split("-") #if len(langS) > 1: #subLanguages.append(langS[0]) try: sublimLangs = set() for sub in subLanguages: bLang = Language.fromietf(sub) sublimLangs.add(bLang) sublimEpisode = set() sublimEpisode.add(Episode.fromname(ep_obj.location)) downloadedSubs = subliminal.download_best_subtitles( videos=sublimEpisode, languages=sublimLangs, providers=SUBTITLE_SERVICES) subliminal.save_subtitles(downloadedSubs, directory = os.path.dirname(ep_obj.location)) subCount = 0 for video, video_subtitles in downloadedSubs.items(): for sub in video_subtitles: subPath = subliminal.subtitle.get_subtitle_path(ep_obj.location, sub.language) helpers.chmodAsParent(subPath) subCount += 1 except Exception, e: logger.log("Error while downloading subtitles for %s: %s" % (ep_obj.prettyName(), str(e)), logger.ERROR) traceback.print_exc() return False
def test_episode_fromname(episodes): video = Episode.fromname(episodes['bbt_s07e05'].name) assert video.name == episodes['bbt_s07e05'].name assert video.format == episodes['bbt_s07e05'].format assert video.release_group == episodes['bbt_s07e05'].release_group assert video.resolution == episodes['bbt_s07e05'].resolution assert video.video_codec == episodes['bbt_s07e05'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.series == episodes['bbt_s07e05'].series assert video.season == episodes['bbt_s07e05'].season assert video.episode == episodes['bbt_s07e05'].episode assert video.title is None assert video.year is None assert video.tvdb_id is None