[soundcloud] Support for listing of audio-only files
authorPhilipp Hagemeister <phihag@phihag.de>
Mon, 25 Nov 2013 21:34:56 +0000 (22:34 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Mon, 25 Nov 2013 21:34:56 +0000 (22:34 +0100)
youtube_dl/YoutubeDL.py
youtube_dl/extractor/soundcloud.py

index d0aab1bbd79c9d7a280df5ec63a3bb4f18d52411..87635e173c9c9edeebae81fd94e470de396cfafd 100644 (file)
@@ -875,6 +875,8 @@ class YoutubeDL(object):
 
     @staticmethod
     def format_resolution(format, default='unknown'):
+        if format.get('vcodec') == 'none':
+            return 'audio only'
         if format.get('_resolution') is not None:
             return format['_resolution']
         if format.get('height') is not None:
@@ -891,7 +893,8 @@ class YoutubeDL(object):
             res = u''
             if fdict.get('format_note') is not None:
                 res += fdict['format_note'] + u' '
-            if fdict.get('vcodec') is not None:
+            if (fdict.get('vcodec') is not None and
+                    fdict.get('vcodec') != 'none'):
                 res += u'%-5s' % fdict['vcodec']
             elif fdict.get('vbr') is not None:
                 res += u'video'
index ee8da227e4e6f40d37f9b837b04c9e84cc6e7e56..3a19ab17222831d87ffde4992e5712b01359e6eb 100644 (file)
@@ -100,6 +100,7 @@ class SoundcloudIE(InfoExtractor):
                 'format_id': 'download',
                 'ext': ext,
                 'url': format_url,
+                'vcodec': 'none',
             }]
         else:
             # We have to retrieve the url
@@ -115,6 +116,7 @@ class SoundcloudIE(InfoExtractor):
                         'format_id': key,
                         'ext': ext,
                         'url': stream_url,
+                        'vcodec': 'none',
                     })
                 elif key.startswith(u'rtmp'):
                     # The url doesn't have an rtmp app, we have to extract the playpath
@@ -124,6 +126,7 @@ class SoundcloudIE(InfoExtractor):
                         'url': url,
                         'play_path': 'mp3:' + path,
                         'ext': ext,
+                        'vcodec': 'none',
                     })
 
             if not formats:
@@ -133,6 +136,7 @@ class SoundcloudIE(InfoExtractor):
                     'format_id': u'fallback',
                     'url': info['stream_url'] + '?client_id=' + self._CLIENT_ID,
                     'ext': ext,
+                    'vcodec': 'none',
                 })
 
             def format_pref(f):