1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-10-31 14:45:14 +00:00

Extract comments only when needed #95 (Closes #94)

This commit is contained in:
pukkandan
2021-02-28 20:26:08 +05:30
committed by GitHub
parent 1cf376f55a
commit 277d6ff5f2
6 changed files with 57 additions and 17 deletions

View File

@@ -2041,6 +2041,7 @@ class YoutubeDL(object):
self.to_stdout(formatSeconds(info_dict['duration']))
print_mandatory('format')
if self.params.get('forcejson', False):
self.post_extract(info_dict)
self.to_stdout(json.dumps(info_dict))
def process_info(self, info_dict):
@@ -2064,6 +2065,7 @@ class YoutubeDL(object):
if self._match_entry(info_dict, incomplete=False) is not None:
return
self.post_extract(info_dict)
self._num_downloads += 1
info_dict = self.pre_process(info_dict)
@@ -2497,6 +2499,7 @@ class YoutubeDL(object):
raise
else:
if self.params.get('dump_single_json', False):
self.post_extract(res)
self.to_stdout(json.dumps(res))
return self._download_retcode
@@ -2545,6 +2548,24 @@ class YoutubeDL(object):
del files_to_move[old_filename]
return files_to_move, infodict
@staticmethod
def post_extract(info_dict):
def actual_post_extract(info_dict):
if info_dict.get('_type') in ('playlist', 'multi_video'):
for video_dict in info_dict.get('entries', {}):
actual_post_extract(video_dict)
return
if '__post_extractor' not in info_dict:
return
post_extractor = info_dict['__post_extractor']
if post_extractor:
info_dict.update(post_extractor().items())
del info_dict['__post_extractor']
return
actual_post_extract(info_dict)
def pre_process(self, ie_info):
info = dict(ie_info)
for pp in self._pps['beforedl']: