Use sanitize_info() on exported JSON (ctd)

This commit is contained in:
dirkf 2023-04-12 17:11:28 +00:00 committed by GitHub
commit 31cb9b9a0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1777,7 +1777,7 @@ class YoutubeDL(object):
self.to_stdout(formatSeconds(info_dict['duration']))
print_mandatory('format')
if self.params.get('forcejson', False):
self.to_stdout(json.dumps(info_dict))
self.to_stdout(json.dumps(self.sanitize_info(info_dict)))
def process_info(self, info_dict):
"""Process a single resolved IE result."""
@ -1804,7 +1804,7 @@ class YoutubeDL(object):
info_dict['_filename'] = filename = self.prepare_filename(info_dict)
# Forced printings
self.__forced_printings(self.filter_requested_info(info_dict), filename, incomplete=False)
self.__forced_printings(info_dict, filename, incomplete=False)
# Do nothing else if in simulate mode
if self.params.get('simulate', False):
@ -2091,7 +2091,7 @@ class YoutubeDL(object):
raise
else:
if self.params.get('dump_single_json', False):
self.to_stdout(json.dumps(res))
self.to_stdout(json.dumps(self.sanitize_info(res)))
return self._download_retcode
@ -2100,6 +2100,7 @@ class YoutubeDL(object):
[info_filename], mode='r',
openhook=fileinput.hook_encoded('utf-8'))) as f:
# FileInput doesn't have a read method, we can't call json.load
#TODO: let's use io.open(), then
info = self.filter_requested_info(json.loads('\n'.join(f)))
try:
self.process_ie_result(info, download=True)