mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-03 16:15:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from .common import InfoExtractor
 | 
						|
from .youtube import YoutubeIE, YoutubeTabIE
 | 
						|
 | 
						|
 | 
						|
class BeatBumpVideoIE(InfoExtractor):
 | 
						|
    _VALID_URL = r'https?://beatbump\.(?:ml|io)/listen\?id=(?P<id>[\w-]+)'
 | 
						|
    _TESTS = [{
 | 
						|
        'url': 'https://beatbump.ml/listen?id=MgNrAu2pzNs',
 | 
						|
        'md5': '5ff3fff41d3935b9810a9731e485fe66',
 | 
						|
        'info_dict': {
 | 
						|
            'id': 'MgNrAu2pzNs',
 | 
						|
            'ext': 'mp4',
 | 
						|
            'artist': 'Stephen',
 | 
						|
            'thumbnail': 'https://i.ytimg.com/vi_webp/MgNrAu2pzNs/maxresdefault.webp',
 | 
						|
            'channel_url': 'https://www.youtube.com/channel/UC-pWHpBjdGG69N9mM2auIAA',
 | 
						|
            'upload_date': '20190312',
 | 
						|
            'categories': ['Music'],
 | 
						|
            'playable_in_embed': True,
 | 
						|
            'duration': 169,
 | 
						|
            'like_count': int,
 | 
						|
            'alt_title': 'Voyeur Girl',
 | 
						|
            'view_count': int,
 | 
						|
            'track': 'Voyeur Girl',
 | 
						|
            'uploader': 'Stephen',
 | 
						|
            'title': 'Voyeur Girl',
 | 
						|
            'channel_follower_count': int,
 | 
						|
            'age_limit': 0,
 | 
						|
            'availability': 'public',
 | 
						|
            'live_status': 'not_live',
 | 
						|
            'album': 'it\'s too much love to know my dear',
 | 
						|
            'channel': 'Stephen',
 | 
						|
            'comment_count': int,
 | 
						|
            'description': 'md5:7ae382a65843d6df2685993e90a8628f',
 | 
						|
            'tags': 'count:11',
 | 
						|
            'creator': 'Stephen',
 | 
						|
            'channel_id': 'UC-pWHpBjdGG69N9mM2auIAA',
 | 
						|
            'channel_is_verified': True,
 | 
						|
            'heatmap': 'count:100',
 | 
						|
        },
 | 
						|
    }, {
 | 
						|
        'url': 'https://beatbump.io/listen?id=LDGZAprNGWo',
 | 
						|
        'only_matching': True,
 | 
						|
    }]
 | 
						|
 | 
						|
    def _real_extract(self, url):
 | 
						|
        id_ = self._match_id(url)
 | 
						|
        return self.url_result(f'https://music.youtube.com/watch?v={id_}', YoutubeIE, id_)
 | 
						|
 | 
						|
 | 
						|
class BeatBumpPlaylistIE(InfoExtractor):
 | 
						|
    _VALID_URL = r'https?://beatbump\.(?:ml|io)/(?:release\?id=|artist/|playlist/)(?P<id>[\w-]+)'
 | 
						|
    _TESTS = [{
 | 
						|
        'url': 'https://beatbump.ml/release?id=MPREb_gTAcphH99wE',
 | 
						|
        'playlist_count': 50,
 | 
						|
        'info_dict': {
 | 
						|
            'id': 'OLAK5uy_l1m0thk3g31NmIIz_vMIbWtyv7eZixlH0',
 | 
						|
            'availability': 'unlisted',
 | 
						|
            'view_count': int,
 | 
						|
            'title': 'Album - Royalty Free Music Library V2 (50 Songs)',
 | 
						|
            'description': '',
 | 
						|
            'tags': [],
 | 
						|
            'modified_date': '20231110',
 | 
						|
        },
 | 
						|
        'expected_warnings': ['YouTube Music is not directly supported'],
 | 
						|
    }, {
 | 
						|
        'url': 'https://beatbump.ml/artist/UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
        'playlist_mincount': 1,
 | 
						|
        'params': {'flatplaylist': True},
 | 
						|
        'info_dict': {
 | 
						|
            'id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
            'uploader_url': 'https://www.youtube.com/@NoCopyrightSounds',
 | 
						|
            'channel_url': 'https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
            'uploader_id': '@NoCopyrightSounds',
 | 
						|
            'channel_follower_count': int,
 | 
						|
            'title': 'NoCopyrightSounds',
 | 
						|
            'uploader': 'NoCopyrightSounds',
 | 
						|
            'description': 'md5:cd4fd53d81d363d05eee6c1b478b491a',
 | 
						|
            'channel': 'NoCopyrightSounds',
 | 
						|
            'tags': 'count:65',
 | 
						|
            'channel_id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
            'channel_is_verified': True,
 | 
						|
        },
 | 
						|
        'expected_warnings': ['YouTube Music is not directly supported'],
 | 
						|
    }, {
 | 
						|
        'url': 'https://beatbump.ml/playlist/VLPLRBp0Fe2GpgmgoscNFLxNyBVSFVdYmFkq',
 | 
						|
        'playlist_mincount': 1,
 | 
						|
        'params': {'flatplaylist': True},
 | 
						|
        'info_dict': {
 | 
						|
            'id': 'PLRBp0Fe2GpgmgoscNFLxNyBVSFVdYmFkq',
 | 
						|
            'uploader_url': 'https://www.youtube.com/@NoCopyrightSounds',
 | 
						|
            'description': 'Providing you with copyright free / safe music for gaming, live streaming, studying and more!',
 | 
						|
            'view_count': int,
 | 
						|
            'channel_url': 'https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
            'uploader_id': '@NoCopyrightSounds',
 | 
						|
            'title': 'NCS : All Releases 💿',
 | 
						|
            'uploader': 'NoCopyrightSounds',
 | 
						|
            'availability': 'public',
 | 
						|
            'channel': 'NoCopyrightSounds',
 | 
						|
            'tags': [],
 | 
						|
            'modified_date': '20231112',
 | 
						|
            'channel_id': 'UC_aEa8K-EOJ3D6gOs7HcyNg',
 | 
						|
        },
 | 
						|
        'expected_warnings': ['YouTube Music is not directly supported'],
 | 
						|
    }, {
 | 
						|
        'url': 'https://beatbump.io/playlist/VLPLFCHGavqRG-q_2ZhmgU2XB2--ZY6irT1c',
 | 
						|
        'only_matching': True,
 | 
						|
    }]
 | 
						|
 | 
						|
    def _real_extract(self, url):
 | 
						|
        id_ = self._match_id(url)
 | 
						|
        return self.url_result(f'https://music.youtube.com/browse/{id_}', YoutubeTabIE, id_)
 |