Handle --get-url with merged formats (fixes #2883)
authorcryptonaut <cryptonaut64@gmail.com>
Sat, 6 Dec 2014 20:47:29 +0000 (12:47 -0800)
committercryptonaut <cryptonaut64@gmail.com>
Sat, 6 Dec 2014 20:55:07 +0000 (12:55 -0800)
Outputs one URL per line

youtube_dl/YoutubeDL.py

index 56dc3d461796f7c8897f20875ca8ac7c0301c3dd..248367039854ed99c32fdc51fe76d5bce02f7509 100755 (executable)
@@ -942,8 +942,12 @@ class YoutubeDL(object):
         if self.params.get('forceid', False):
             self.to_stdout(info_dict['id'])
         if self.params.get('forceurl', False):
-            # For RTMP URLs, also include the playpath
-            self.to_stdout(info_dict['url'] + info_dict.get('play_path', ''))
+            if info_dict.get('requested_formats') is not None:
+                for f in info_dict['requested_formats']:
+                    self.to_stdout(f['url'] + f.get('play_path', ''))
+            else:
+                # For RTMP URLs, also include the playpath
+                self.to_stdout(info_dict['url'] + info_dict.get('play_path', ''))
         if self.params.get('forcethumbnail', False) and info_dict.get('thumbnail') is not None:
             self.to_stdout(info_dict['thumbnail'])
         if self.params.get('forcedescription', False) and info_dict.get('description') is not None: