From ee1a7032d51757aceab806db707979203626e9ea Mon Sep 17 00:00:00 2001 From: Keith Beckman Date: Tue, 20 May 2014 22:28:32 -0400 Subject: [PATCH] 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 --- youtube_dl/extractor/grooveshark.py | 14 ++++++++------ 1 file 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():