From 86808ab7c5c520541fac187bc15a3092a09b1aa0 Mon Sep 17 00:00:00 2001 From: knighthat Date: Wed, 1 May 2024 14:50:15 -0500 Subject: [PATCH] indent json with --pretty-json --- youtube_dl/YoutubeDL.py | 5 ++++- youtube_dl/__init__.py | 1 + youtube_dl/options.py | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 6f2aba5ac..ed4072cb2 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -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.""" diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index cc8285eba..4be564410 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -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: diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 434f520d3..53bf034c3 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -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(