コード例 #1
0
ファイル: subtitle_queue.py プロジェクト: fakegit/Sick-Beard
    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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
ファイル: subtitle_queue.py プロジェクト: KazroFox/sickbeard
    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
コード例 #7
0
ファイル: test_video.py プロジェクト: pokys/rpi-subliminal
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
コード例 #8
0
ファイル: test_video.py プロジェクト: fernandog/subliminal
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