]> jfr.im git - yt-dlp.git/blame - yt_dlp/extractor/beatbump.py
[ie/matchtv] Fix extractor (#10190)
[yt-dlp.git] / yt_dlp / extractor / beatbump.py
CommitLineData
0ef3d470
B
1from .common import InfoExtractor
2from .youtube import YoutubeIE, YoutubeTabIE
3
4
5class BeatBumpVideoIE(InfoExtractor):
a687226b 6 _VALID_URL = r'https?://beatbump\.(?:ml|io)/listen\?id=(?P<id>[\w-]+)'
0ef3d470
B
7 _TESTS = [{
8 'url': 'https://beatbump.ml/listen?id=MgNrAu2pzNs',
9 'md5': '5ff3fff41d3935b9810a9731e485fe66',
10 'info_dict': {
11 'id': 'MgNrAu2pzNs',
12 'ext': 'mp4',
0ef3d470
B
13 'artist': 'Stephen',
14 'thumbnail': 'https://i.ytimg.com/vi_webp/MgNrAu2pzNs/maxresdefault.webp',
15 'channel_url': 'https://www.youtube.com/channel/UC-pWHpBjdGG69N9mM2auIAA',
16 'upload_date': '20190312',
17 'categories': ['Music'],
18 'playable_in_embed': True,
19 'duration': 169,
20 'like_count': int,
21 'alt_title': 'Voyeur Girl',
22 'view_count': int,
23 'track': 'Voyeur Girl',
21dc069b 24 'uploader': 'Stephen',
0ef3d470
B
25 'title': 'Voyeur Girl',
26 'channel_follower_count': int,
0ef3d470
B
27 'age_limit': 0,
28 'availability': 'public',
29 'live_status': 'not_live',
30 'album': 'it\'s too much love to know my dear',
31 'channel': 'Stephen',
32 'comment_count': int,
33 'description': 'md5:7ae382a65843d6df2685993e90a8628f',
34 'tags': 'count:11',
35 'creator': 'Stephen',
36 'channel_id': 'UC-pWHpBjdGG69N9mM2auIAA',
21dc069b 37 'channel_is_verified': True,
38 'heatmap': 'count:100',
39 },
40 }, {
41 'url': 'https://beatbump.io/listen?id=LDGZAprNGWo',
42 'only_matching': True,
0ef3d470
B
43 }]
44
45 def _real_extract(self, url):
46 id_ = self._match_id(url)
47 return self.url_result(f'https://music.youtube.com/watch?v={id_}', YoutubeIE, id_)
48
49
50class BeatBumpPlaylistIE(InfoExtractor):
a687226b 51 _VALID_URL = r'https?://beatbump\.(?:ml|io)/(?:release\?id=|artist/|playlist/)(?P<id>[\w-]+)'
0ef3d470
B
52 _TESTS = [{
53 'url': 'https://beatbump.ml/release?id=MPREb_gTAcphH99wE',
54 'playlist_count': 50,
55 'info_dict': {
56 'id': 'OLAK5uy_l1m0thk3g31NmIIz_vMIbWtyv7eZixlH0',
57 'availability': 'unlisted',
58 'view_count': int,
59 'title': 'Album - Royalty Free Music Library V2 (50 Songs)',
60 'description': '',
61 'tags': [],
21dc069b 62 'modified_date': '20231110',
63 },
64 'expected_warnings': ['YouTube Music is not directly supported'],
0ef3d470
B
65 }, {
66 'url': 'https://beatbump.ml/artist/UC_aEa8K-EOJ3D6gOs7HcyNg',
67 'playlist_mincount': 1,
68 'params': {'flatplaylist': True},
69 'info_dict': {
70 'id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
21dc069b 71 'uploader_url': 'https://www.youtube.com/@NoCopyrightSounds',
0ef3d470 72 'channel_url': 'https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg',
21dc069b 73 'uploader_id': '@NoCopyrightSounds',
0ef3d470 74 'channel_follower_count': int,
21dc069b 75 'title': 'NoCopyrightSounds',
0ef3d470
B
76 'uploader': 'NoCopyrightSounds',
77 'description': 'md5:cd4fd53d81d363d05eee6c1b478b491a',
78 'channel': 'NoCopyrightSounds',
21dc069b 79 'tags': 'count:65',
0ef3d470 80 'channel_id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
21dc069b 81 'channel_is_verified': True,
0ef3d470 82 },
21dc069b 83 'expected_warnings': ['YouTube Music is not directly supported'],
0ef3d470
B
84 }, {
85 'url': 'https://beatbump.ml/playlist/VLPLRBp0Fe2GpgmgoscNFLxNyBVSFVdYmFkq',
86 'playlist_mincount': 1,
87 'params': {'flatplaylist': True},
88 'info_dict': {
89 'id': 'PLRBp0Fe2GpgmgoscNFLxNyBVSFVdYmFkq',
90 'uploader_url': 'https://www.youtube.com/@NoCopyrightSounds',
91 'description': 'Providing you with copyright free / safe music for gaming, live streaming, studying and more!',
92 'view_count': int,
21dc069b 93 'channel_url': 'https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg',
94 'uploader_id': '@NoCopyrightSounds',
0ef3d470
B
95 'title': 'NCS : All Releases 💿',
96 'uploader': 'NoCopyrightSounds',
97 'availability': 'public',
98 'channel': 'NoCopyrightSounds',
99 'tags': [],
21dc069b 100 'modified_date': '20231112',
0ef3d470 101 'channel_id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
21dc069b 102 },
103 'expected_warnings': ['YouTube Music is not directly supported'],
104 }, {
105 'url': 'https://beatbump.io/playlist/VLPLFCHGavqRG-q_2ZhmgU2XB2--ZY6irT1c',
106 'only_matching': True,
0ef3d470
B
107 }]
108
109 def _real_extract(self, url):
110 id_ = self._match_id(url)
111 return self.url_result(f'https://music.youtube.com/browse/{id_}', YoutubeTabIE, id_)