[subtitles] Skips now the subtitles that has already been downloaded.
authorIsmael Mejia <iemejia@gmail.com>
Thu, 8 Aug 2013 16:30:04 +0000 (18:30 +0200)
committerIsmael Mejia <iemejia@gmail.com>
Thu, 8 Aug 2013 16:30:04 +0000 (18:30 +0200)
Just a validation for file exists, I also removed a method that wasn't
been used because it was a copy paste from FileDownloader.

youtube_dl/YoutubeDL.py

index ed5492826f211fc2ce6331523070e0769773162f..e11d6f994165bb5afa754ecbcc30a6a327f21742 100644 (file)
@@ -221,19 +221,16 @@ class YoutubeDL(object):
 
     def report_writesubtitles(self, sub_filename):
         """ Report that the subtitles file is being written """
-        self.to_screen(u'[info] Writing video subtitles to: ' + sub_filename)
+        self.to_screen(u'[info] Writing subtitle: ' + sub_filename)
+
+    def report_existingsubtitles(self, sub_filename):
+        """ Report that the subtitles file has been already written """
+        self.to_screen(u'[info] Skipping existing subtitle: ' + sub_filename)
 
     def report_writeinfojson(self, infofn):
         """ Report that the metadata file has been written """
         self.to_screen(u'[info] Video description metadata as JSON to: ' + infofn)
 
-    def report_file_already_downloaded(self, file_name):
-        """Report file has already been fully downloaded."""
-        try:
-            self.to_screen(u'[download] %s has already been downloaded' % file_name)
-        except (UnicodeEncodeError) as err:
-            self.to_screen(u'[download] The file has already been downloaded')
-
     def increment_downloads(self):
         """Increment the ordinal that assigns a number to each file."""
         self._num_downloads += 1
@@ -492,13 +489,16 @@ class YoutubeDL(object):
             # that way it will silently go on when used with unsupporting IE
             subtitles = info_dict['subtitles']
             sub_format = self.params.get('subtitlesformat')
-            
+
             for sub_lang in subtitles.keys():
                 sub = subtitles[sub_lang]
                 if sub is None:
                     continue
                 try:
                     sub_filename = filename.rsplit('.', 1)[0] + u'.' + sub_lang + u'.' + sub_format
+                    if os.path.isfile(encodeFilename(sub_filename)):
+                        self.report_existingsubtitles(sub_filename)
+                        continue
                     self.report_writesubtitles(sub_filename)
                     with io.open(encodeFilename(sub_filename), 'w', encoding='utf-8') as subfile:
                             subfile.write(sub)