summary refs log tree commit diff
diff options
context:
space:
mode:
authorMohamedh Fazal <mohamedhfazal@gmail.com>2013-11-19 18:59:22 +0500
committerPhilipp Hagemeister <phihag@phihag.de>2013-11-20 06:14:57 +0100
commit9d1538182fdc540fa79ec8341385a980cde334e7 (patch)
tree873749ba1d5a9e28c5ef61da4200e50d6b6ad3f2
parent59040888112e7e5a22ef17bacc27ca88d58a5d92 (diff)
downloadyoutube-dl-9d1538182fdc540fa79ec8341385a980cde334e7.tar.gz
youtube-dl-9d1538182fdc540fa79ec8341385a980cde334e7.tar.xz
youtube-dl-9d1538182fdc540fa79ec8341385a980cde334e7.zip
Add an option to dump json information
-rw-r--r--youtube_dl/YoutubeDL.py3
-rw-r--r--youtube_dl/__init__.py8
2 files changed, 9 insertions, 2 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index fd5a30a0c..d8d55d7d7 100644
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -84,6 +84,7 @@ class YoutubeDL(object):
     forcethumbnail:    Force printing thumbnail URL.
     forcedescription:  Force printing description.
     forcefilename:     Force printing final filename.
+    forcejson:         Force printing json information.
     simulate:          Do not download the video files.
     format:            Video format code.
     format_limit:      Highest quality format to try.
@@ -651,6 +652,8 @@ class YoutubeDL(object):
             compat_print(filename)
         if self.params.get('forceformat', False):
             compat_print(info_dict['format'])
+        if self.params.get('forcejson', False):
+            compat_print(json.dumps(info_dict))
 
         # Do nothing else if in simulate mode
         if self.params.get('simulate', False):
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index af4c9c5c4..7ab99bdd1 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -306,6 +306,9 @@ def parseOpts(overrideArguments=None):
     verbosity.add_option('--get-format',
             action='store_true', dest='getformat',
             help='simulate, quiet but print output format', default=False)
+    verbosity.add_option('-j', '--dump-json',
+            action='store_true', dest='dumpjson',
+            help='simulate, quiet but print json information', default=False)
     verbosity.add_option('--newline',
             action='store_true', dest='progress_with_newline', help='output progress bar as new lines', default=False)
     verbosity.add_option('--no-progress',
@@ -608,7 +611,7 @@ def _real_main(argv=None):
         'username': opts.username,
         'password': opts.password,
         'videopassword': opts.videopassword,
-        'quiet': (opts.quiet or opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat),
+        'quiet': (opts.quiet or opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat or opts.dumpjson),
         'forceurl': opts.geturl,
         'forcetitle': opts.gettitle,
         'forceid': opts.getid,
@@ -616,8 +619,9 @@ def _real_main(argv=None):
         'forcedescription': opts.getdescription,
         'forcefilename': opts.getfilename,
         'forceformat': opts.getformat,
+        'forcejson': opts.dumpjson,
         'simulate': opts.simulate,
-        'skip_download': (opts.skip_download or opts.simulate or opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat),
+        'skip_download': (opts.skip_download or opts.simulate or opts.geturl or opts.gettitle or opts.getid or opts.getthumbnail or opts.getdescription or opts.getfilename or opts.getformat or opts.dumpjson),
         'format': opts.format,
         'format_limit': opts.format_limit,
         'listformats': opts.listformats,