]> jfr.im git - yt-dlp.git/blame - yt_dlp/extractor/atscaleconf.py
[ie/orf:on] Improve extraction (#9677)
[yt-dlp.git] / yt_dlp / extractor / atscaleconf.py
CommitLineData
c82a4a8f
AG
1import re
2
3from .common import InfoExtractor
4
5
6class AtScaleConfEventIE(InfoExtractor):
7 _VALID_URL = r'https?://(?:www\.)?atscaleconference\.com/events/(?P<id>[^/&$?]+)'
8
9 _TESTS = [{
10 'url': 'https://atscaleconference.com/events/data-scale-spring-2022/',
11 'playlist_mincount': 13,
12 'info_dict': {
13 'id': 'data-scale-spring-2022',
14 'title': 'Data @Scale Spring 2022',
15 'description': 'md5:7d7ca1c42ac9c6d8a785092a1aea4b55'
16 },
17 }, {
18 'url': 'https://atscaleconference.com/events/video-scale-2021/',
19 'playlist_mincount': 14,
20 'info_dict': {
21 'id': 'video-scale-2021',
22 'title': 'Video @Scale 2021',
23 'description': 'md5:7d7ca1c42ac9c6d8a785092a1aea4b55'
24 },
25 }]
26
27 def _real_extract(self, url):
28 id = self._match_id(url)
29 webpage = self._download_webpage(url, id)
30
31 return self.playlist_from_matches(
32 re.findall(r'data-url\s*=\s*"(https?://(?:www\.)?atscaleconference\.com/videos/[^"]+)"', webpage),
33 ie='Generic', playlist_id=id,
34 title=self._og_search_title(webpage), description=self._og_search_description(webpage))