Merge f8703c429117a92ad63d2c94a99eee6d6f1165ae into 3eb8d22ddb8982ca4fb56bb7a8d6517538bf14c6

This commit is contained in:
Allan Daemon 2025-04-01 12:11:39 +02:00 committed by GitHub
commit 44e4031b9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 33 additions and 8 deletions

View File

@ -738,7 +738,7 @@ from .mtv import (
from .muenchentv import MuenchenTVIE
from .mwave import MwaveIE, MwaveMeetGreetIE
from .mychannels import MyChannelsIE
from .myspace import MySpaceIE, MySpaceAlbumIE
from .myspace import MySpaceIE, MySpaceAlbumIE, MySpaceArtistIE
from .myspass import MySpassIE
from .myvi import (
MyviIE,

View File

@ -203,10 +203,35 @@ class MySpaceAlbumIE(InfoExtractor):
entries = [
self.url_result(t_path, ie=MySpaceIE.ie_key())
for t_path in tracks_paths]
return {
'_type': 'playlist',
'id': playlist_id,
'display_id': display_id,
'title': self._og_search_title(webpage),
'entries': entries,
}
return self.playlist_result(entries, playlist_id, self._og_search_title(webpage))
class MySpaceArtistIE(InfoExtractor):
IE_NAME = 'MySpace:artist'
_VALID_URL = r'https?://myspace\.com/(?P<artist>[^/]*)/music/songs'
_TEST = {
'url': 'https://myspace.com/studio99/music/songs/',
'info_dict': {
'title': 'Studio 99 IS CLOSED!! R.I.P.',
},
'playlist_count': 4,
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
display_id = mobj.group('artist')
webpage = self._download_webpage(url, display_id)
tracks_paths = re.findall(r'<meta itemprop="url" content ="(.*?)">', webpage)
if not tracks_paths:
raise ExtractorError(
'%s: No songs found, try using proxy' % display_id,
expected=True)
entries = [
self.url_result('https://myspace.com/' + display_id + t_path, ie=MySpaceIE.ie_key())
for t_path in tracks_paths if t_path.startswith('/music/song/')]
# if we invert this if, we get album urls. but not all music are in alba.
# Also the musics in alba are already here individually
return self.playlist_result(entries, playlist_title=self._og_search_title(webpage))