1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-12-27 01:45:49 +01:00

[subtitles] Skips now the subtitles that has already been downloaded.

Just a validation for file exists, I also removed a method that wasn't
been used because it was a copy paste from FileDownloader.
This commit is contained in:
Ismael Mejia 2013-08-08 18:30:04 +02:00
parent 69df680b97
commit d55de6eec2

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