Fixed errors found by travisci:

py26: re.split can't take flags. use inline flags or re.compile
py27: info_dict must be serializable. remove request object
py335, py34: no urlparse module. use utils.compat_urlparse
This commit is contained in:
Keith Beckman 2014-05-20 22:28:32 -04:00
parent 7ed806d241
commit ee1a7032d5

View File

@ -4,13 +4,18 @@
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 @@ def _build_swf_referer(self, target, obj):
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 @@ def _real_extract(self, url):
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 @@ def _real_extract(self, url):
# 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():