|
|
@ -19,7 +19,7 @@ class PandoraTVIE(InfoExtractor):
|
|
|
|
IE_NAME = 'pandora.tv'
|
|
|
|
IE_NAME = 'pandora.tv'
|
|
|
|
IE_DESC = '판도라TV'
|
|
|
|
IE_DESC = '판도라TV'
|
|
|
|
_VALID_URL = r'https?://(?:.+?\.)?channel\.pandora\.tv/channel/video\.ptv\?'
|
|
|
|
_VALID_URL = r'https?://(?:.+?\.)?channel\.pandora\.tv/channel/video\.ptv\?'
|
|
|
|
_TEST = {
|
|
|
|
_TESTS = [{
|
|
|
|
'url': 'http://jp.channel.pandora.tv/channel/video.ptv?c1=&prgid=53294230&ch_userid=mikakim&ref=main&lot=cate_01_2',
|
|
|
|
'url': 'http://jp.channel.pandora.tv/channel/video.ptv?c1=&prgid=53294230&ch_userid=mikakim&ref=main&lot=cate_01_2',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '53294230',
|
|
|
|
'id': '53294230',
|
|
|
@ -34,7 +34,26 @@ class PandoraTVIE(InfoExtractor):
|
|
|
|
'view_count': int,
|
|
|
|
'view_count': int,
|
|
|
|
'like_count': int,
|
|
|
|
'like_count': int,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, {
|
|
|
|
|
|
|
|
'url': 'http://channel.pandora.tv/channel/video.ptv?ch_userid=gogoucc&prgid=54721744',
|
|
|
|
|
|
|
|
'info_dict': {
|
|
|
|
|
|
|
|
'id': '54721744',
|
|
|
|
|
|
|
|
'ext': 'flv',
|
|
|
|
|
|
|
|
'title': '[HD] JAPAN COUNTDOWN 170423',
|
|
|
|
|
|
|
|
'description': '[HD] JAPAN COUNTDOWN 170423',
|
|
|
|
|
|
|
|
'thumbnail': r're:^https?://.*\.jpg$',
|
|
|
|
|
|
|
|
'duration': 1704.9,
|
|
|
|
|
|
|
|
'upload_date': '20170423',
|
|
|
|
|
|
|
|
'uploader': 'GOGO_UCC',
|
|
|
|
|
|
|
|
'uploader_id': 'gogoucc',
|
|
|
|
|
|
|
|
'view_count': int,
|
|
|
|
|
|
|
|
'like_count': int,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
'params': {
|
|
|
|
|
|
|
|
# Test metadata only
|
|
|
|
|
|
|
|
'skip_download': True,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|
qs = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query)
|
|
|
|
qs = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query)
|
|
|
@ -86,7 +105,7 @@ class PandoraTVIE(InfoExtractor):
|
|
|
|
'description': info.get('body'),
|
|
|
|
'description': info.get('body'),
|
|
|
|
'thumbnail': info.get('thumbnail') or info.get('poster'),
|
|
|
|
'thumbnail': info.get('thumbnail') or info.get('poster'),
|
|
|
|
'duration': float_or_none(info.get('runtime'), 1000) or parse_duration(info.get('time')),
|
|
|
|
'duration': float_or_none(info.get('runtime'), 1000) or parse_duration(info.get('time')),
|
|
|
|
'upload_date': info['fid'][:8] if isinstance(info.get('fid'), compat_str) else None,
|
|
|
|
'upload_date': info['fid'].split('/')[-1][:8] if isinstance(info.get('fid'), compat_str) else None,
|
|
|
|
'uploader': info.get('nickname'),
|
|
|
|
'uploader': info.get('nickname'),
|
|
|
|
'uploader_id': info.get('upload_userid'),
|
|
|
|
'uploader_id': info.get('upload_userid'),
|
|
|
|
'view_count': str_to_int(info.get('hit')),
|
|
|
|
'view_count': str_to_int(info.get('hit')),
|
|
|
|