|
|
@ -483,25 +483,13 @@ class YoutubeDL(object): |
|
|
|
self.report_error(u'Cannot write description file ' + descfn) |
|
|
|
return |
|
|
|
|
|
|
|
if (self.params.get('writesubtitles', False) or self.params.get('writeautomaticsub')) and 'subtitles' in info_dict and info_dict['subtitles']: |
|
|
|
subtitles_are_requested = any([self.params.get('writesubtitles', False), |
|
|
|
self.params.get('writeautomaticsub'), |
|
|
|
self.params.get('allsubtitles', False)]) |
|
|
|
|
|
|
|
if subtitles_are_requested and 'subtitles' in info_dict and info_dict['subtitles']: |
|
|
|
# subtitles download errors are already managed as troubles in relevant IE |
|
|
|
# that way it will silently go on when used with unsupporting IE |
|
|
|
subtitle = info_dict['subtitles'][0] |
|
|
|
(sub_error, sub_lang, sub) = subtitle |
|
|
|
sub_format = self.params.get('subtitlesformat') |
|
|
|
if sub_error: |
|
|
|
self.report_warning("Some error while getting the subtitles") |
|
|
|
else: |
|
|
|
try: |
|
|
|
sub_filename = filename.rsplit('.', 1)[0] + u'.' + sub_lang + u'.' + sub_format |
|
|
|
self.report_writesubtitles(sub_filename) |
|
|
|
with io.open(encodeFilename(sub_filename), 'w', encoding='utf-8') as subfile: |
|
|
|
subfile.write(sub) |
|
|
|
except (OSError, IOError): |
|
|
|
self.report_error(u'Cannot write subtitles file ' + descfn) |
|
|
|
return |
|
|
|
|
|
|
|
if self.params.get('allsubtitles', False) and 'subtitles' in info_dict and info_dict['subtitles']: |
|
|
|
subtitles = info_dict['subtitles'] |
|
|
|
sub_format = self.params.get('subtitlesformat') |
|
|
|
for subtitle in subtitles: |
|
|
|