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))
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))
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
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