1
0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2025-01-09 19:18:47 +00:00

Possibly working version pt.2

This commit is contained in:
dirkf 2022-11-14 16:24:27 +00:00 committed by GitHub
parent 6468249594
commit 8f0e4816e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 14 deletions

View File

@ -911,7 +911,7 @@ from .pandoratv import PandoraTVIE
from .panopto import ( from .panopto import (
PanoptoIE, PanoptoIE,
PanoptoListIE, PanoptoListIE,
PanoptoPlaylistIE PanoptoPlaylistIE,
) )
from .parliamentliveuk import ParliamentLiveUKIE from .parliamentliveuk import ParliamentLiveUKIE
from .patreon import PatreonIE from .patreon import PatreonIE

View File

@ -130,7 +130,7 @@ from .kinja import KinjaEmbedIE
from .arcpublishing import ArcPublishingIE from .arcpublishing import ArcPublishingIE
from .medialaan import MedialaanIE from .medialaan import MedialaanIE
from .simplecast import SimplecastIE from .simplecast import SimplecastIE
from .panopto import PanoptoBaseIE from .panopto import PanoptoIE
class GenericIE(InfoExtractor): class GenericIE(InfoExtractor):
@ -3327,9 +3327,9 @@ class GenericIE(InfoExtractor):
return self.playlist_from_matches( return self.playlist_from_matches(
zype_urls, video_id, video_title, ie=ZypeIE.ie_key()) zype_urls, video_id, video_title, ie=ZypeIE.ie_key())
panopto_urls = PanoptoBaseIE._extract_urls(webpage) panopto_entries = PanoptoIE._extract_from_webpage(url, webpage)
if panopto_urls: if panopto_entries:
return self.playlist_from_matches(panopto_urls, video_id, video_title) return self.playlist_result(panopto_entries, video_id, video_title)
# Look for HTML5 media # Look for HTML5 media
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
if entries: if entries:

View File

@ -280,7 +280,7 @@ class PanoptoIE(PanoptoBaseIE):
@classmethod @classmethod
def suitable(cls, url): def suitable(cls, url):
return False if PanoptoPlaylistIE.suitable(url) else super().suitable(url) return False if PanoptoPlaylistIE.suitable(url) else super(PanoptoIE, cls).suitable(url)
@classmethod @classmethod
def _extract_from_webpage(cls, url, webpage): def _extract_from_webpage(cls, url, webpage):
@ -657,15 +657,13 @@ class PanoptoListIE(PanoptoBaseIE):
if query: if query:
display_id += ': query "%s"' % (query, ) display_id += ': query "%s"' % (query, )
info = { info = self.playlist_result(
'_type': 'playlist', OnDemandPagedList(
'id': display_id, functools.partial(self._fetch_page, base_url, query_params, display_id), self._PAGE_SIZE),
'title': display_id, playlist_id=display_id,
} playlist_title=display_id)
if folder_id: if folder_id:
info.update(self._extract_folder_metadata(base_url, folder_id)) info.update(self._extract_folder_metadata(base_url, folder_id))
info['entries'] = OnDemandPagedList(
functools.partial(self._fetch_page, base_url, query_params, display_id), self._PAGE_SIZE)
return info return info