|
|
|
@ -2335,12 +2335,16 @@ class YoutubeDL:
|
|
|
|
|
# TODO: move sanitization here
|
|
|
|
|
if is_video:
|
|
|
|
|
# playlists are allowed to lack "title"
|
|
|
|
|
info_dict['fulltitle'] = info_dict.get('title')
|
|
|
|
|
if 'title' not in info_dict:
|
|
|
|
|
title = info_dict.get('title', NO_DEFAULT)
|
|
|
|
|
if title is NO_DEFAULT:
|
|
|
|
|
raise ExtractorError('Missing "title" field in extractor result',
|
|
|
|
|
video_id=info_dict['id'], ie=info_dict['extractor'])
|
|
|
|
|
elif not info_dict.get('title'):
|
|
|
|
|
self.report_warning('Extractor failed to obtain "title". Creating a generic title instead')
|
|
|
|
|
info_dict['fulltitle'] = title
|
|
|
|
|
if not title:
|
|
|
|
|
if title == '':
|
|
|
|
|
self.write_debug('Extractor gave empty title. Creating a generic title')
|
|
|
|
|
else:
|
|
|
|
|
self.report_warning('Extractor failed to obtain "title". Creating a generic title instead')
|
|
|
|
|
info_dict['title'] = f'{info_dict["extractor"].replace(":", "-")} video #{info_dict["id"]}'
|
|
|
|
|
|
|
|
|
|
if info_dict.get('duration') is not None:
|
|
|
|
|