Re-add SchoolTV

pull/31976/head
Bart Broere 1 year ago
parent 3b3d73cbe6
commit 4b24e5f00d

@ -847,7 +847,7 @@ from .nowness import (
NownessSeriesIE, NownessSeriesIE,
) )
from .noz import NozIE from .noz import NozIE
from .npo import BNNVaraIE, NPOIE, ONIE, VPROIE from .npo import BNNVaraIE, NPOIE, ONIE, VPROIE, SchoolTVIE
from .npr import NprIE from .npr import NprIE
from .nrk import ( from .nrk import (
NRKIE, NRKIE,

@ -223,3 +223,39 @@ class ZAPPIE(NPOIE):
'title': video_id, 'title': video_id,
'formats': formats, 'formats': formats,
} }
class SchoolTVIE(NPOIE):
IE_NAME = 'schooltv'
IE_DESC = 'schooltv.nl'
_VALID_URL = r'https?://(?:www\.)?schooltv.nl/item/.*'
_TESTS = [{
'url': 'https://schooltv.nl/item/zapp-music-challenge-2015-zapp-music-challenge-2015',
# TODO fill in other test attributes
}]
def _real_extract(self, url):
video_id = url.rstrip('/').split('/')[-1]
build_id = 'b7eHUzAVO7wHXCopYxQhV'
metadata_url = 'https://schooltv.nl/_next/data/' \
+ build_id \
+ '/item/' \
+ video_id + '.json'
metadata = self._download_json(metadata_url,
video_id).get('pageProps', {}).get('data', {})
formats = self._download_by_product_id(metadata.get('poms_mid'), video_id)
if not formats:
raise ExtractorError('Could not find a POMS product id in the provided URL.')
return {
'id': video_id,
'title': metadata.get('title', '') + ' - ' + metadata.get('subtitle', ''),
'description': metadata.get('description') or metadata.get('short_description'),
'formats': formats,
}

Loading…
Cancel
Save