summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2015-01-08 18:01:41 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2015-01-08 18:03:29 +0100
commitc0bdf32a3cb0f6a08ba92cb5261d020ef2f61892 (patch)
tree8b7800a24c9410f323192c98d3dd4a566b2e48e6
parent92b065dc539649d29804ebe329c89de9503b7098 (diff)
downloadyoutube-dl-c0bdf32a3cb0f6a08ba92cb5261d020ef2f61892.tar.gz
youtube-dl-c0bdf32a3cb0f6a08ba92cb5261d020ef2f61892.tar.xz
youtube-dl-c0bdf32a3cb0f6a08ba92cb5261d020ef2f61892.zip
Add --print-json (Closes #2845)
-rw-r--r--youtube_dl/__init__.py9
-rw-r--r--youtube_dl/options.py5
2 files changed, 10 insertions, 4 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index 4aa7fba6a..844992d8e 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -197,7 +197,8 @@ def _real_main(argv=None):
                      ' file! Use "{0}.%(ext)s" instead of "{0}" as the output'
                      ' template'.format(outtmpl))
 
-    any_printing = opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat or opts.getduration or opts.dumpjson or opts.dump_single_json
+    any_getting = opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat or opts.getduration or opts.dumpjson or opts.dump_single_json
+    any_printing = opts.print_json
     download_archive_fn = compat_expanduser(opts.download_archive) if opts.download_archive is not None else opts.download_archive
 
     # PostProcessors
@@ -243,7 +244,7 @@ def _real_main(argv=None):
         'password': opts.password,
         'twofactor': opts.twofactor,
         'videopassword': opts.videopassword,
-        'quiet': (opts.quiet or any_printing),
+        'quiet': (opts.quiet or any_getting or any_printing),
         'no_warnings': opts.no_warnings,
         'forceurl': opts.geturl,
         'forcetitle': opts.gettitle,
@@ -253,9 +254,9 @@ def _real_main(argv=None):
         'forceduration': opts.getduration,
         'forcefilename': opts.getfilename,
         'forceformat': opts.getformat,
-        'forcejson': opts.dumpjson,
+        'forcejson': opts.dumpjson or opts.print_json,
         'dump_single_json': opts.dump_single_json,
-        'simulate': opts.simulate or any_printing,
+        'simulate': opts.simulate or any_getting,
         'skip_download': opts.skip_download,
         'format': opts.format,
         'format_limit': opts.format_limit,
diff --git a/youtube_dl/options.py b/youtube_dl/options.py
index 058342dec..feaca03a3 100644
--- a/youtube_dl/options.py
+++ b/youtube_dl/options.py
@@ -446,6 +446,11 @@ def parseOpts(overrideArguments=None):
         action='store_true', dest='dump_single_json', default=False,
         help='simulate, quiet but print JSON information for each command-line argument. If the URL refers to a playlist, dump the whole playlist information in a single line.')
     verbosity.add_option(
+        '--print-json',
+        action='store_true', dest='print_json', default=False,
+        help='Be quiet and print the video information as JSON (video is still being downloaded).',
+    )
+    verbosity.add_option(
         '--newline',
         action='store_true', dest='progress_with_newline', default=False,
         help='output progress bar as new lines')