Possibly working version pt.2

pull/31097/head
dirkf 2 years ago committed by GitHub
parent 6468249594
commit 8f0e4816e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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

@ -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:

@ -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

Loading…
Cancel
Save