Example #1
0
    def query(self, video):
        vfn = get_video_filename(video)
        logger.debug(u"Searching for: %s", vfn)
        film = search(vfn, session=self.session)

        subtitles = []
        if film and film.subtitles:
            subtitles = self.parse_results(video, film)

        # re-search for episodes without explicit release name
        if isinstance(video, Episode):
            term = u"%s S%02iE%02i" % (video.series, video.season,
                                       video.episode)
            time.sleep(self.search_throttle)
            logger.debug('Searching for alternative results: %s', term)
            film = search(term, session=self.session)
            if film and film.subtitles:
                subtitles += self.parse_results(video, film)

            # packs
            if video.season_fully_aired:
                term = u"%s S%02i" % (video.series, video.season)
                logger.debug('Searching for packs: %s', term)
                time.sleep(self.search_throttle)
                film = search(term, session=self.session)
                if film and film.subtitles:
                    subtitles += self.parse_results(video, film)
            else:
                logger.debug(
                    "Not searching for packs, because the season hasn't fully aired"
                )

        logger.info("%s subtitles found" % len(subtitles))
        return subtitles
Example #2
0
    def query(self, video):
        #vfn = get_video_filename(video)
        subtitles = []
        #logger.debug(u"Searching for: %s", vfn)
        # film = search(vfn, session=self.session)
        #
        # if film and film.subtitles:
        #     logger.debug('Release results found: %s', len(film.subtitles))
        #     subtitles = self.parse_results(video, film)
        # else:
        #     logger.debug('No release results found')

        #time.sleep(self.search_throttle)

        # re-search for episodes without explicit release name
        if isinstance(video, Episode):
            #term = u"%s S%02iE%02i" % (video.series, video.season, video.episode)
            more_than_one = len([video.series] + video.alternative_series) > 1
            for series in [video.series] + video.alternative_series:
                term = u"%s - %s Season" % (series, p.number_to_words("%sth" % video.season).capitalize())
                logger.debug('Searching for alternative results: %s', term)
                film = search(term, session=self.session, release=False, throttle=self.search_throttle)
                if film and film.subtitles:
                    logger.debug('Alternative results found: %s', len(film.subtitles))
                    subtitles += self.parse_results(video, film)
                else:
                    logger.debug('No alternative results found')

                # packs
                # if video.season_fully_aired:
                #     term = u"%s S%02i" % (series, video.season)
                #     logger.debug('Searching for packs: %s', term)
                #     time.sleep(self.search_throttle)
                #     film = search(term, session=self.session, throttle=self.search_throttle)
                #     if film and film.subtitles:
                #         logger.debug('Pack results found: %s', len(film.subtitles))
                #         subtitles += self.parse_results(video, film)
                #     else:
                #         logger.debug('No pack results found')
                # else:
                #     logger.debug("Not searching for packs, because the season hasn't fully aired")
                if more_than_one:
                    time.sleep(self.search_throttle)
        else:
            more_than_one = len([video.title] + video.alternative_titles) > 1
            for title in [video.title] + video.alternative_titles:
                logger.debug('Searching for movie results: %s', title)
                film = search(title, year=video.year, session=self.session, limit_to=None, release=False,
                              throttle=self.search_throttle)
                if film and film.subtitles:
                    subtitles += self.parse_results(video, film)
                if more_than_one:
                    time.sleep(self.search_throttle)

        logger.info("%s subtitles found" % len(subtitles))
        return subtitles
Example #3
0
    def query(self, video):
        vfn = get_video_filename(video)
        subtitles = []
        logger.debug(u"Searching for: %s", vfn)
        film = search(vfn, session=self.session)
        if film and film.subtitles:
            logger.debug('Release results found: %s', len(film.subtitles))
            subtitles = self.parse_results(video, film)
        else:
            logger.debug('No release results found')

        # re-search for episodes without explicit release name
        if isinstance(video, Episode):
            #term = u"%s S%02iE%02i" % (video.series, video.season, video.episode)
            term = u"%s - %s Season" % (video.series, p.number_to_words("%sth" % video.season).capitalize())
            time.sleep(self.search_throttle)
            logger.debug('Searching for alternative results: %s', term)
            film = search(term, session=self.session, release=False)
            if film and film.subtitles:
                logger.debug('Alternative results found: %s', len(film.subtitles))
                subtitles += self.parse_results(video, film)
            else:
                logger.debug('No alternative results found')

            # packs
            if video.season_fully_aired:
                term = u"%s S%02i" % (video.series, video.season)
                logger.debug('Searching for packs: %s', term)
                time.sleep(self.search_throttle)
                film = search(term, session=self.session)
                if film and film.subtitles:
                    logger.debug('Pack results found: %s', len(film.subtitles))
                    subtitles += self.parse_results(video, film)
                else:
                    logger.debug('No pack results found')
            else:
                logger.debug("Not searching for packs, because the season hasn't fully aired")
        else:
            logger.debug('Searching for movie results: %s', video.title)
            film = search(video.title, year=video.year, session=self.session, limit_to=None, release=False)
            if film and film.subtitles:
                subtitles += self.parse_results(video, film)

        logger.info("%s subtitles found" % len(subtitles))
        return subtitles
Example #4
0
 def do_search(self, *args, **kwargs):
     try:
         return search(*args, **kwargs)
     except requests.HTTPError:
         region.delete("subscene_cookies2")