mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-04-28 03:25:52 +00:00
fix ruff errors
This commit is contained in:
parent
ede4e0b78a
commit
5ab4037e8d
@ -585,8 +585,8 @@ from .egghead import (
|
|||||||
EggheadLessonIE,
|
EggheadLessonIE,
|
||||||
)
|
)
|
||||||
from .eggs import (
|
from .eggs import (
|
||||||
EggsIE,
|
|
||||||
EggsArtistIE,
|
EggsArtistIE,
|
||||||
|
EggsIE,
|
||||||
)
|
)
|
||||||
from .eighttracks import EightTracksIE
|
from .eighttracks import EightTracksIE
|
||||||
from .eitb import EitbIE
|
from .eitb import EitbIE
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import re
|
|||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
ExtractorError,
|
ExtractorError,
|
||||||
url_or_none,
|
|
||||||
unescapeHTML,
|
unescapeHTML,
|
||||||
|
url_or_none,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -12,8 +12,7 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
def _parse_artist_name(self, webpage):
|
def _parse_artist_name(self, webpage):
|
||||||
artist = self._search_regex(
|
artist = self._search_regex(
|
||||||
r'<div[^>]+class=(["\'])artist_name\1[^>]*>([^<]+)</div>',
|
r'<div[^>]+class=(["\'])artist_name\1[^>]*>([^<]+)</div>',
|
||||||
webpage, 'artist name', fatal=False, default=None, group=2
|
webpage, 'artist name', fatal=False, default=None, group=2)
|
||||||
)
|
|
||||||
if artist:
|
if artist:
|
||||||
return artist.strip()
|
return artist.strip()
|
||||||
|
|
||||||
@ -28,19 +27,16 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
def _parse_single_song(self, url, webpage, default_artist='Unknown Artist'):
|
def _parse_single_song(self, url, webpage, default_artist='Unknown Artist'):
|
||||||
song_id = self._search_regex(
|
song_id = self._search_regex(
|
||||||
r'/song/(?P<id>[^/?#&]+)',
|
r'/song/(?P<id>[^/?#&]+)',
|
||||||
url, 'song id', fatal=False, default=None, group='id'
|
url, 'song id', fatal=False, default=None, group='id')
|
||||||
)
|
|
||||||
|
|
||||||
track_title = self._search_regex(
|
track_title = self._search_regex(
|
||||||
r'<div[^>]+class=(["\'])product_name\1[^>]*>\s*<p>([^<]+)</p>',
|
r'<div[^>]+class=(["\'])product_name\1[^>]*>\s*<p>([^<]+)</p>',
|
||||||
webpage, 'track title', fatal=False, default=None, group=2
|
webpage, 'track title', fatal=False, default=None, group=2)
|
||||||
)
|
|
||||||
|
|
||||||
if not track_title:
|
if not track_title:
|
||||||
page_title = self._search_regex(
|
page_title = self._search_regex(
|
||||||
r'<title>(?P<title>[^<]+)</title>',
|
r'<title>(?P<title>[^<]+)</title>',
|
||||||
webpage, 'page title', fatal=False, default=None, group='title'
|
webpage, 'page title', fatal=False, default=None, group='title')
|
||||||
)
|
|
||||||
if page_title:
|
if page_title:
|
||||||
inner_match = re.search(r'「(?P<inner>[^」]+)」', page_title)
|
inner_match = re.search(r'「(?P<inner>[^」]+)」', page_title)
|
||||||
if inner_match:
|
if inner_match:
|
||||||
@ -54,15 +50,13 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
artist_regex = r'<span[^>]+class=(["\'])artist_name\1[^>]*>\s*<a[^>]*>([^<]+)</a>'
|
artist_regex = r'<span[^>]+class=(["\'])artist_name\1[^>]*>\s*<a[^>]*>([^<]+)</a>'
|
||||||
fallback_artist = self._search_regex(
|
fallback_artist = self._search_regex(
|
||||||
artist_regex, webpage, 'artist name',
|
artist_regex, webpage, 'artist name',
|
||||||
fatal=False, default=None, group=2
|
fatal=False, default=None, group=2)
|
||||||
)
|
|
||||||
if fallback_artist:
|
if fallback_artist:
|
||||||
artist = fallback_artist.strip()
|
artist = fallback_artist.strip()
|
||||||
|
|
||||||
audio_url = self._search_regex(
|
audio_url = self._search_regex(
|
||||||
r'<div[^>]+class=(["\'])[^"\']*player[^"\']*\1[^>]+data-src=(["\'])(?P<audio_url>[^"\']+)\2',
|
r'<div[^>]+class=(["\'])[^"\']*player[^"\']*\1[^>]+data-src=(["\'])(?P<audio_url>[^"\']+)\2',
|
||||||
webpage, 'audio url', fatal=True, group='audio_url'
|
webpage, 'audio url', fatal=True, group='audio_url')
|
||||||
)
|
|
||||||
audio_url = url_or_none(unescapeHTML(audio_url))
|
audio_url = url_or_none(unescapeHTML(audio_url))
|
||||||
if not audio_url:
|
if not audio_url:
|
||||||
raise ExtractorError('Invalid audio URL.', expected=True)
|
raise ExtractorError('Invalid audio URL.', expected=True)
|
||||||
@ -71,8 +65,7 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
self._html_search_meta(['og:image'], webpage, 'thumbnail', default=None)
|
self._html_search_meta(['og:image'], webpage, 'thumbnail', default=None)
|
||||||
or self._search_regex(
|
or self._search_regex(
|
||||||
r'<span[^>]*>\s*<img[^>]+src=(["\'])(?P<thumb>[^"\']+)\1',
|
r'<span[^>]*>\s*<img[^>]+src=(["\'])(?P<thumb>[^"\']+)\1',
|
||||||
webpage, 'thumbnail', fatal=False, default=None, group='thumb'
|
webpage, 'thumbnail', fatal=False, default=None, group='thumb')
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -91,30 +84,26 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
for block in song_blocks:
|
for block in song_blocks:
|
||||||
audio_url = self._search_regex(
|
audio_url = self._search_regex(
|
||||||
r'data-src=(["\'])(?P<url>https?://.*?\.(?:mp3|m4a).*?)\1',
|
r'data-src=(["\'])(?P<url>https?://.*?\.(?:mp3|m4a).*?)\1',
|
||||||
block, 'audio url', fatal=False, default=None, group='url'
|
block, 'audio url', fatal=False, default=None, group='url')
|
||||||
)
|
|
||||||
audio_url = url_or_none(unescapeHTML(audio_url))
|
audio_url = url_or_none(unescapeHTML(audio_url))
|
||||||
if not audio_url:
|
if not audio_url:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
track_id = self._search_regex(
|
track_id = self._search_regex(
|
||||||
r'data-srcid=(["\'])(?P<id>[^"\'<>]+)\1',
|
r'data-srcid=(["\'])(?P<id>[^"\'<>]+)\1',
|
||||||
block, 'track id', fatal=False, default=None, group='id'
|
block, 'track id', fatal=False, default=None, group='id')
|
||||||
)
|
|
||||||
if not track_id:
|
if not track_id:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
title = self._search_regex(
|
title = self._search_regex(
|
||||||
r'data-srcname=(["\'])(?P<title>[^"\']+)\1',
|
r'data-srcname=(["\'])(?P<title>[^"\']+)\1',
|
||||||
block, 'track title', fatal=False, default=None, group='title'
|
block, 'track title', fatal=False, default=None, group='title')
|
||||||
)
|
|
||||||
if not title:
|
if not title:
|
||||||
title = 'Unknown Title'
|
title = 'Unknown Title'
|
||||||
|
|
||||||
thumbnail = self._search_regex(
|
thumbnail = self._search_regex(
|
||||||
r'<img[^>]+src=(["\'])(?P<th>[^"\']+)\1',
|
r'<img[^>]+src=(["\'])(?P<th>[^"\']+)\1',
|
||||||
block, 'thumbnail', fatal=False, default=None, group='th'
|
block, 'thumbnail', fatal=False, default=None, group='th')
|
||||||
)
|
|
||||||
|
|
||||||
entries.append({
|
entries.append({
|
||||||
'id': track_id,
|
'id': track_id,
|
||||||
@ -127,6 +116,7 @@ class EggsBaseIE(InfoExtractor):
|
|||||||
|
|
||||||
return entries
|
return entries
|
||||||
|
|
||||||
|
|
||||||
class EggsIE(EggsBaseIE):
|
class EggsIE(EggsBaseIE):
|
||||||
IE_NAME = 'eggs:single'
|
IE_NAME = 'eggs:single'
|
||||||
_VALID_URL = (
|
_VALID_URL = (
|
||||||
@ -148,13 +138,13 @@ class EggsIE(EggsBaseIE):
|
|||||||
song_id = mobj.group('song_id')
|
song_id = mobj.group('song_id')
|
||||||
webpage = self._download_webpage(url, song_id)
|
webpage = self._download_webpage(url, song_id)
|
||||||
artist_name = self._parse_artist_name(webpage)
|
artist_name = self._parse_artist_name(webpage)
|
||||||
info = self._parse_single_song(url, webpage, artist_name)
|
return self._parse_single_song(url, webpage, artist_name)
|
||||||
return info
|
|
||||||
|
|
||||||
class EggsArtistIE(EggsBaseIE):
|
class EggsArtistIE(EggsBaseIE):
|
||||||
IE_NAME = 'eggs:artist'
|
IE_NAME = 'eggs:artist'
|
||||||
_VALID_URL = (
|
_VALID_URL = (
|
||||||
r'https?://(?:www\.)?eggs\.mu/artist/(?P<artist_id>[^/]+)'
|
r'https?://(?:www\.)?eggs\.mu/artist/(?P<artist_id>[^/]+)$'
|
||||||
)
|
)
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'https://eggs.mu/artist/32_sunny_girl',
|
'url': 'https://eggs.mu/artist/32_sunny_girl',
|
||||||
@ -173,5 +163,5 @@ class EggsArtistIE(EggsBaseIE):
|
|||||||
return self.playlist_result(
|
return self.playlist_result(
|
||||||
entries,
|
entries,
|
||||||
playlist_id=artist_id,
|
playlist_id=artist_id,
|
||||||
playlist_title=artist_name
|
playlist_title=artist_name,
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user