mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-14 15:22:35 +00:00
[mixch] Add MixchArchiveIE
(#2373)
Closes #2363 Authored by: Lesmiscore
This commit is contained in:
parent
b143e83ec9
commit
ba1c671d2e
2 changed files with 35 additions and 2 deletions
|
@ -829,7 +829,10 @@ from .mirrativ import (
|
||||||
)
|
)
|
||||||
from .mit import TechTVMITIE, OCWMITIE
|
from .mit import TechTVMITIE, OCWMITIE
|
||||||
from .mitele import MiTeleIE
|
from .mitele import MiTeleIE
|
||||||
from .mixch import MixchIE
|
from .mixch import (
|
||||||
|
MixchIE,
|
||||||
|
MixchArchiveIE,
|
||||||
|
)
|
||||||
from .mixcloud import (
|
from .mixcloud import (
|
||||||
MixcloudIE,
|
MixcloudIE,
|
||||||
MixcloudUserIE,
|
MixcloudUserIE,
|
||||||
|
|
|
@ -11,7 +11,7 @@ class MixchIE(InfoExtractor):
|
||||||
IE_NAME = 'mixch'
|
IE_NAME = 'mixch'
|
||||||
_VALID_URL = r'https?://(?:www\.)?mixch\.tv/u/(?P<id>\d+)'
|
_VALID_URL = r'https?://(?:www\.)?mixch\.tv/u/(?P<id>\d+)'
|
||||||
|
|
||||||
TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'https://mixch.tv/u/16236849/live',
|
'url': 'https://mixch.tv/u/16236849/live',
|
||||||
'skip': 'don\'t know if this live persists',
|
'skip': 'don\'t know if this live persists',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
@ -53,3 +53,33 @@ class MixchIE(InfoExtractor):
|
||||||
}],
|
}],
|
||||||
'is_live': True,
|
'is_live': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class MixchArchiveIE(InfoExtractor):
|
||||||
|
IE_NAME = 'mixch:archive'
|
||||||
|
_VALID_URL = r'https?://(?:www\.)?mixch\.tv/archive/(?P<id>\d+)'
|
||||||
|
|
||||||
|
_TESTS = [{
|
||||||
|
'url': 'https://mixch.tv/archive/421',
|
||||||
|
'skip': 'paid video, no DRM. expires at Jan 23',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '421',
|
||||||
|
'title': '96NEKO SHOW TIME',
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
video_id = self._match_id(url)
|
||||||
|
webpage = self._download_webpage(url, video_id)
|
||||||
|
|
||||||
|
html5_videos = self._parse_html5_media_entries(
|
||||||
|
url, webpage.replace('video-js', 'video'), video_id, 'hls')
|
||||||
|
if not html5_videos:
|
||||||
|
self.raise_login_required(method='cookies')
|
||||||
|
infodict = html5_videos[0]
|
||||||
|
infodict.update({
|
||||||
|
'id': video_id,
|
||||||
|
'title': self._html_search_regex(r'class="archive-title">(.+?)</', webpage, 'title')
|
||||||
|
})
|
||||||
|
|
||||||
|
return infodict
|
||||||
|
|
Loading…
Reference in a new issue