Compare commits

..

No commits in common. "b2920d0790c9ffa35ae0acc85fba65be2fed62a6" and "11eb240df949fe61530abdbdcc828046d804e1a5" have entirely different histories.

View File

@ -37,33 +37,25 @@ class JoqrAgIE(InfoExtractor):
'only_matching': True,
}]
def _extract_metadata(self, variable, html, name):
return clean_html(urllib.parse.unquote_plus(self._search_regex(
rf'var\s+{variable}\s*=\s*["\']([^"\']+)["\']', html, name, default=''))) or None
def _real_extract(self, url):
video_id = 'live'
metadata = self._download_webpage(
'https://www.uniqueradio.jp/aandg', video_id,
note='Downloading metadata', errnote='Failed to download metadata')
title = self._extract_metadata('Program_name', metadata, 'program title')
desc = self._extract_metadata('Program_text', metadata, 'program description')
title = clean_html(urllib.parse.unquote_plus(
self._search_regex(r'var\s+Program_name\s*=\s*["\']([^"\']+)["\']', metadata, 'program title')))
desc = clean_html(urllib.parse.unquote_plus(
self._search_regex(r'var\s+Program_text\s*=\s*["\']([^"\']+)["\']', metadata, 'program description')))
if title == '放送休止':
self.raise_no_formats('This stream has not started yet', expected=True)
formats = []
live_status = 'is_upcoming'
else:
m3u8_path = self._search_regex(
r'<source\s[^>]*\bsrc="([^"]+)"',
self._download_webpage(
'https://www.uniqueradio.jp/agplayer5/inc-player-hls.php', video_id,
note='Downloading player data', errnote='Failed to download player data'),
'm3u8 url')
formats = self._extract_m3u8_formats(
urljoin('https://www.uniqueradio.jp/', m3u8_path), video_id, fatal=False)
live_status = 'is_live'
m3u8_path = self._search_regex(
r'<source\s[^>]*\bsrc="([^"]+)"',
self._download_webpage(
'https://www.uniqueradio.jp/agplayer5/inc-player-hls.php', video_id,
note='Downloading player data', errnote='Failed to download player data'),
'm3u8 url')
formats = self._extract_m3u8_formats(
urljoin('https://www.uniqueradio.jp/', m3u8_path), video_id, fatal=False)
return {
'id': video_id,
@ -71,5 +63,5 @@ class JoqrAgIE(InfoExtractor):
'channel': '超!A&G+',
'description': desc,
'formats': formats,
'live_status': live_status,
'live_status': 'is_live',
}