|
|
@ -5,12 +5,14 @@ from .common import InfoExtractor |
|
|
|
from ..compat import ( |
|
|
|
compat_str, |
|
|
|
compat_urlparse, |
|
|
|
compat_urllib_request, |
|
|
|
) |
|
|
|
from ..utils import ( |
|
|
|
ExtractorError, |
|
|
|
float_or_none, |
|
|
|
parse_duration, |
|
|
|
str_to_int, |
|
|
|
urlencode_postdata, |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -56,6 +58,18 @@ class PandoraTVIE(InfoExtractor): |
|
|
|
r'^v(\d+)[Uu]rl$', format_id, 'height', default=None) |
|
|
|
if not height: |
|
|
|
continue |
|
|
|
|
|
|
|
post_data = {'prgid': video_id, 'runtime': info.get('runtime'), 'vod_url': format_url} |
|
|
|
play_url = self._download_json('http://m.pandora.tv/?c=api&m=play_url', video_id, |
|
|
|
data=urlencode_postdata(post_data), |
|
|
|
headers={ |
|
|
|
'Origin': url, |
|
|
|
'Content-Type': 'application/x-www-form-urlencoded' |
|
|
|
}) |
|
|
|
format_url = play_url.get('url') |
|
|
|
if not format_url: |
|
|
|
continue |
|
|
|
|
|
|
|
formats.append({ |
|
|
|
'format_id': '%sp' % height, |
|
|
|
'url': format_url, |
|
|
|