diff options
| -rw-r--r-- | youtube_dl/extractor/grooveshark.py | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/youtube_dl/extractor/grooveshark.py b/youtube_dl/extractor/grooveshark.py index 165cccf69..77c5a9172 100644 --- a/youtube_dl/extractor/grooveshark.py +++ b/youtube_dl/extractor/grooveshark.py @@ -4,13 +4,18 @@ from __future__ import unicode_literals  import time  import math  import re -from urlparse import urlparse, urlunparse, urldefrag +  from urllib import quote, urlencode  from os.path import basename  from .common import InfoExtractor  from ..utils import ExtractorError, compat_urllib_request, compat_html_parser +from ..utils import compat_urlparse +urlparse = compat_urlparse.urlparse +urlunparse = compat_urlparse.urlunparse +urldefrag = compat_urlparse.urldefrag +  class GroovesharkHtmlParser(compat_html_parser.HTMLParser):      def __init__(self): @@ -78,7 +83,7 @@ class GroovesharkIE(InfoExtractor):          return urlunparse((uri.scheme, uri.netloc, obj['attrs']['data'], None, None, None))      def _transform_bootstrap(self, js): -        return re.split('^\s*try\s*{', js, flags=re.M)[0] \ +        return re.split('(?m)^\s*try\s*{', js)[0] \                   .split(' = ', 1)[1].strip().rstrip(';')      def _transform_meta(self, js): @@ -161,8 +166,6 @@ class GroovesharkIE(InfoExtractor):          if 'swf_referer' in locals():              headers['Referer'] = swf_referer -        req = compat_urllib_request.Request(stream_url, post_data, headers) -          info_dict = {              'id': token,              'title': meta['song']['Name'], @@ -176,8 +179,7 @@ class GroovesharkIE(InfoExtractor):              # remove keys unnecessary to the eventual post implementation              'post_data': post_data,              'post_dict': post_dict, -            'headers': headers, -            'request': req +            'headers': headers          }          if 'swf_referer' in locals(): | 
