|
@@ -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():
|