aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/bongacams.py
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_dl/extractor/bongacams.py')
-rw-r--r--youtube_dl/extractor/bongacams.py60
1 files changed, 0 insertions, 60 deletions
diff --git a/youtube_dl/extractor/bongacams.py b/youtube_dl/extractor/bongacams.py
deleted file mode 100644
index 180542fbc..000000000
--- a/youtube_dl/extractor/bongacams.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from __future__ import unicode_literals
-
-import re
-
-from .common import InfoExtractor
-from ..compat import compat_str
-from ..utils import (
- int_or_none,
- try_get,
- urlencode_postdata,
-)
-
-
-class BongaCamsIE(InfoExtractor):
- _VALID_URL = r'https?://(?P<host>(?:[^/]+\.)?bongacams\d*\.com)/(?P<id>[^/?&#]+)'
- _TESTS = [{
- 'url': 'https://de.bongacams.com/azumi-8',
- 'only_matching': True,
- }, {
- 'url': 'https://cn.bongacams.com/azumi-8',
- 'only_matching': True,
- }]
-
- def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
- host = mobj.group('host')
- channel_id = mobj.group('id')
-
- amf = self._download_json(
- 'https://%s/tools/amf.php' % host, channel_id,
- data=urlencode_postdata((
- ('method', 'getRoomData'),
- ('args[]', channel_id),
- ('args[]', 'false'),
- )), headers={'X-Requested-With': 'XMLHttpRequest'})
-
- server_url = amf['localData']['videoServerUrl']
-
- uploader_id = try_get(
- amf, lambda x: x['performerData']['username'], compat_str) or channel_id
- uploader = try_get(
- amf, lambda x: x['performerData']['displayName'], compat_str)
- like_count = int_or_none(try_get(
- amf, lambda x: x['performerData']['loversCount']))
-
- formats = self._extract_m3u8_formats(
- '%s/hls/stream_%s/playlist.m3u8' % (server_url, uploader_id),
- channel_id, 'mp4', m3u8_id='hls', live=True)
- self._sort_formats(formats)
-
- return {
- 'id': channel_id,
- 'title': self._live_title(uploader or uploader_id),
- 'uploader': uploader,
- 'uploader_id': uploader_id,
- 'like_count': like_count,
- 'age_limit': 18,
- 'is_live': True,
- 'formats': formats,
- }