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