indent json with --pretty-json

This commit is contained in:
knighthat 2024-05-01 14:50:15 -05:00
parent 668332b973
commit 86808ab7c5
3 changed files with 10 additions and 1 deletions

View File

@ -1914,7 +1914,10 @@ class YoutubeDL(object):
self.to_stdout(formatSeconds(info_dict['duration']))
print_mandatory('format')
if self.params.get('forcejson', False):
self.to_stdout(json.dumps(self.sanitize_info(info_dict)))
if self.params.get('indent_json', False):
self.to_stdout(json.dumps(self.sanitize_info(info_dict), indent=2))
else:
self.to_stdout(json.dumps(self.sanitize_info(info_dict)))
def process_info(self, info_dict):
"""Process a single resolved IE result."""

View File

@ -435,6 +435,7 @@ def _real_main(argv=None):
# just for deprecation check
'autonumber': opts.autonumber if opts.autonumber is True else None,
'usetitle': opts.usetitle if opts.usetitle is True else None,
'indent_json': opts.pretty_json,
}
with YoutubeDL(ydl_opts) as ydl:

View File

@ -675,6 +675,11 @@ def parseOpts(overrideArguments=None):
'--no-call-home',
dest='call_home', action='store_false', default=False,
help='Do NOT contact the youtube-dl server for debugging')
verbosity.add_option(
'--pretty-json',
dest='pretty_json', action='store_true', default=False,
help='Print json with indentation. Only when --dump-json is provided'
)
filesystem = optparse.OptionGroup(parser, 'Filesystem Options')
filesystem.add_option(