summaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/crowdbunker.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 09:06:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 09:06:10 +0000
commit7e21328585afda6d66f98ca476301680eeffac32 (patch)
tree266a4e7b20443f94572748781d71fc0375a15037 /yt_dlp/extractor/crowdbunker.py
parentAdding upstream version 2024.05.27. (diff)
downloadyt-dlp-7e21328585afda6d66f98ca476301680eeffac32.tar.xz
yt-dlp-7e21328585afda6d66f98ca476301680eeffac32.zip
Adding upstream version 2024.07.01.upstream/2024.07.01
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'yt_dlp/extractor/crowdbunker.py')
-rw-r--r--yt_dlp/extractor/crowdbunker.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/yt_dlp/extractor/crowdbunker.py b/yt_dlp/extractor/crowdbunker.py
index d83c015..bf81457 100644
--- a/yt_dlp/extractor/crowdbunker.py
+++ b/yt_dlp/extractor/crowdbunker.py
@@ -24,15 +24,16 @@ class CrowdBunkerIE(InfoExtractor):
'uploader_id': 'UCeN_qQV829NYf0pvPJhW5dQ',
'like_count': int,
'upload_date': '20211218',
- 'thumbnail': 'https://scw.divulg.org/cb-medias4/images/0z4Kms8pi8I/maxres.jpg'
+ 'thumbnail': 'https://scw.divulg.org/cb-medias4/images/0z4Kms8pi8I/maxres.jpg',
},
- 'params': {'skip_download': True}
+ 'params': {'skip_download': True},
}]
def _real_extract(self, url):
- id = self._match_id(url)
- data_json = self._download_json(f'https://api.divulg.org/post/{id}/details',
- id, headers={'accept': 'application/json, text/plain, */*'})
+ video_id = self._match_id(url)
+ data_json = self._download_json(
+ f'https://api.divulg.org/post/{video_id}/details', video_id,
+ headers={'accept': 'application/json, text/plain, */*'})
video_json = data_json['video']
formats, subtitles = [], {}
for sub in video_json.get('captions') or []:
@@ -45,12 +46,12 @@ class CrowdBunkerIE(InfoExtractor):
mpd_url = try_get(video_json, lambda x: x['dashManifest']['url'])
if mpd_url:
- fmts, subs = self._extract_mpd_formats_and_subtitles(mpd_url, id)
+ fmts, subs = self._extract_mpd_formats_and_subtitles(mpd_url, video_id)
formats.extend(fmts)
subtitles = self._merge_subtitles(subtitles, subs)
m3u8_url = try_get(video_json, lambda x: x['hlsManifest']['url'])
if m3u8_url:
- fmts, subs = self._extract_m3u8_formats_and_subtitles(mpd_url, id)
+ fmts, subs = self._extract_m3u8_formats_and_subtitles(mpd_url, video_id)
formats.extend(fmts)
subtitles = self._merge_subtitles(subtitles, subs)
@@ -61,7 +62,7 @@ class CrowdBunkerIE(InfoExtractor):
} for image in video_json.get('thumbnails') or [] if image.get('url')]
return {
- 'id': id,
+ 'id': video_id,
'title': video_json.get('title'),
'description': video_json.get('description'),
'view_count': video_json.get('viewCount'),
@@ -87,23 +88,24 @@ class CrowdBunkerChannelIE(InfoExtractor):
},
}]
- def _entries(self, id):
+ def _entries(self, playlist_id):
last = None
for page in itertools.count():
channel_json = self._download_json(
- f'https://api.divulg.org/organization/{id}/posts', id, headers={'accept': 'application/json, text/plain, */*'},
+ f'https://api.divulg.org/organization/{playlist_id}/posts', playlist_id,
+ headers={'accept': 'application/json, text/plain, */*'},
query={'after': last} if last else {}, note=f'Downloading Page {page}')
for item in channel_json.get('items') or []:
v_id = item.get('uid')
if not v_id:
continue
yield self.url_result(
- 'https://crowdbunker.com/v/%s' % v_id, ie=CrowdBunkerIE.ie_key(), video_id=v_id)
+ f'https://crowdbunker.com/v/{v_id}', ie=CrowdBunkerIE.ie_key(), video_id=v_id)
last = channel_json.get('last')
if not last:
break
def _real_extract(self, url):
- id = self._match_id(url)
- return self.playlist_result(self._entries(id), playlist_id=id)
+ playlist_id = self._match_id(url)
+ return self.playlist_result(self._entries(playlist_id), playlist_id=playlist_id)