]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/sprout.py
2 from __future__
import unicode_literals
4 from .adobepass
import AdobePassIE
12 class SproutIE(AdobePassIE
):
13 _VALID_URL
= r
'https?://(?:www\.)?(?:sproutonline|universalkids)\.com/(?:watch|(?:[^/]+/)*videos)/(?P<id>[^/?#]+)'
15 'url': 'https://www.universalkids.com/shows/remy-and-boo/season/1/videos/robot-bike-race',
19 'title': 'Robot Bike Race',
20 'description': 'md5:436b1d97117cc437f54c383f4debc66d',
21 'timestamp': 1606148940,
22 'upload_date': '20201123',
23 'uploader': 'NBCU-MPAT',
26 'skip_download': True,
29 'url': 'http://www.sproutonline.com/watch/cowboy-adventure',
30 'only_matching': True,
32 'url': 'https://www.universalkids.com/watch/robot-bike-race',
33 'only_matching': True,
35 _GEO_COUNTRIES
= ['US']
37 def _real_extract(self
, url
):
38 display_id
= self
._match
_id
(url
)
39 mpx_metadata
= self
._download
_json
(
40 # http://nbcuunikidsprod.apps.nbcuni.com/networks/universalkids/content/videos/
41 'https://www.universalkids.com/_api/videos/' + display_id
,
42 display_id
)['mpxMetadata']
43 media_pid
= mpx_metadata
['mediaPid']
44 theplatform_url
= 'https://link.theplatform.com/s/HNK2IC/' + media_pid
49 if mpx_metadata
.get('entitlement') == 'auth':
50 query
['auth'] = self
._extract
_mvpd
_auth
(url
, media_pid
, 'sprout', 'sprout')
51 theplatform_url
= smuggle_url(
52 update_url_query(theplatform_url
, query
), {
53 'force_smil_url': True,
54 'geo_countries': self
._GEO
_COUNTRIES
,
57 '_type': 'url_transparent',
59 'url': theplatform_url
,
60 'series': mpx_metadata
.get('seriesName'),
61 'season_number': int_or_none(mpx_metadata
.get('seasonNumber')),
62 'episode_number': int_or_none(mpx_metadata
.get('episodeNumber')),
63 'ie_key': 'ThePlatform',