예제 #1
0
    def test_change_pattern(self):
        """ Tests that the rename method use different
        pattern defined by user. """
        new_pattern = "{serie_name}_{season}x{episode:02d}_{episode_name}"

        episode = Episode(self.video_filename)
        episode.name = "Twin Peaks"
        episode.season = 1
        episode.episode = 1
        episode.episode_name = "Pilot"

        # Rename episode with default pattern
        episode.rename()
        self.assertTrue(os.path.exists(self.expected_renamed_video_filename))

        # Rename again with a new pattern
        with pattern(new_pattern):
            episode.rename()
        self.assertTrue(os.path.exists(
            self.expected_renamed_new_pattern_video_filename))

        # Rename again without underscore
        with pattern(underscore=False):
            episode.rename()
        self.assertTrue(os.path.exists(
            self.expected_renamed_video_filename_without_underscore))
예제 #2
0
    def test_change_pattern(self):
        """ Tests that the rename method use different
        pattern defined by user. """
        new_pattern = "{serie_name}_{season}x{episode:02d}_{episode_name}"

        episode = Episode(self.video_filename)
        episode.name = "Twin Peaks"
        episode.season = 1
        episode.episode = 1
        episode.episode_name = "Pilot"

        # Rename episode with default pattern
        episode.rename()
        self.assertTrue(os.path.exists(self.expected_renamed_video_filename))

        # Rename again with a new pattern
        with pattern(new_pattern):
            episode.rename()
        self.assertTrue(
            os.path.exists(self.expected_renamed_new_pattern_video_filename))

        # Rename again without underscore
        with pattern(underscore=False):
            episode.rename()
        self.assertTrue(
            os.path.exists(
                self.expected_renamed_video_filename_without_underscore))
예제 #3
0
파일: server.py 프로젝트: shamsan/sublime
    def download_subtitles(self, videos, languages, rename=False, rename_pattern=None, underscore=True, mock_hash=None):
        """ Download a list of subtitles. """
        LOG.info("Download subtitles from {}...".format(self.name))

        # Use for testing purpose
        if mock_hash is not None:
            hashcode = mock_hash
        else:
            hashcode = self.hashcode

        response = False
        videos_hashcode = {hashcode(video.filename): video for video in videos}

        with pattern(rename_pattern, underscore):
            # First search if subtitles are available
            subtitles = self._execute(self._do_search_subtitles, [videos_hashcode, languages])

            # Rename videos if demanded
            if rename:
                [video.rename() for video in videos_hashcode.values() if isinstance(video, (Movie, Episode))]

            # Download subtitles
            if subtitles:
                response = self._execute(self._do_download_subtitles, [subtitles])

        return response
예제 #4
0
파일: server.py 프로젝트: shamsan/sublime
    def download_subtitles(self,
                           videos,
                           languages,
                           rename=False,
                           rename_pattern=None,
                           underscore=True,
                           mock_hash=None):
        """ Download a list of subtitles. """
        LOG.info("Download subtitles from {}...".format(self.name))

        # Use for testing purpose
        if mock_hash is not None:
            hashcode = mock_hash
        else:
            hashcode = self.hashcode

        response = False
        videos_hashcode = {hashcode(video.filename): video for video in videos}

        with pattern(rename_pattern, underscore):
            # First search if subtitles are available
            subtitles = self._execute(self._do_search_subtitles,
                                      [videos_hashcode, languages])

            # Rename videos if demanded
            if rename:
                [
                    video.rename() for video in videos_hashcode.values()
                    if isinstance(video, (Movie, Episode))
                ]

            # Download subtitles
            if subtitles:
                response = self._execute(self._do_download_subtitles,
                                         [subtitles])

        return response