[soundcloud] Support widget urls (fixes #1252)
This commit is contained in:
		@@ -4,6 +4,7 @@ import re
 | 
			
		||||
from .common import InfoExtractor
 | 
			
		||||
from ..utils import (
 | 
			
		||||
    compat_str,
 | 
			
		||||
    compat_urlparse,
 | 
			
		||||
 | 
			
		||||
    ExtractorError,
 | 
			
		||||
    unified_strdate,
 | 
			
		||||
@@ -22,6 +23,7 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
    _VALID_URL = r'''^(?:https?://)?
 | 
			
		||||
                    (?:(?:(?:www\.)?soundcloud\.com/([\w\d-]+)/([\w\d-]+)/?(?:[?].*)?$)
 | 
			
		||||
                       |(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+))
 | 
			
		||||
                       |(?P<widget>w.soundcloud.com/player/?.*?url=.*)
 | 
			
		||||
                    )
 | 
			
		||||
                    '''
 | 
			
		||||
    IE_NAME = u'soundcloud'
 | 
			
		||||
@@ -79,6 +81,9 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
        if track_id is not None:
 | 
			
		||||
            info_json_url = 'http://api.soundcloud.com/tracks/' + track_id + '.json?client_id=' + self._CLIENT_ID
 | 
			
		||||
            full_title = track_id
 | 
			
		||||
        elif mobj.group('widget'):
 | 
			
		||||
            query = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query)
 | 
			
		||||
            return self.url_result(query['url'][0], ie='Soundcloud')
 | 
			
		||||
        else:
 | 
			
		||||
            # extract uploader (which is in the url)
 | 
			
		||||
            uploader = mobj.group(1)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user