|
|
@ -350,6 +350,15 @@ class PBSIE(InfoExtractor): |
|
|
|
410: 'This video has expired and is no longer available for online streaming.', |
|
|
|
} |
|
|
|
|
|
|
|
def _real_initialize(self): |
|
|
|
cookie = (self._download_json( |
|
|
|
'http://localization.services.pbs.org/localize/auto/cookie/', |
|
|
|
None, headers=self.geo_verification_headers(), fatal=False) or {}).get('cookie') |
|
|
|
if cookie: |
|
|
|
station = self._search_regex(r'#?s=\["([^"]+)"', cookie, 'station') |
|
|
|
if station: |
|
|
|
self._set_cookie('.pbs.org', 'pbsol.station', station) |
|
|
|
|
|
|
|
def _extract_webpage(self, url): |
|
|
|
mobj = re.match(self._VALID_URL, url) |
|
|
|
|
|
|
@ -476,7 +485,8 @@ class PBSIE(InfoExtractor): |
|
|
|
|
|
|
|
redirect_info = self._download_json( |
|
|
|
'%s?format=json' % redirect['url'], display_id, |
|
|
|
'Downloading %s video url info' % (redirect_id or num)) |
|
|
|
'Downloading %s video url info' % (redirect_id or num), |
|
|
|
headers=self.geo_verification_headers()) |
|
|
|
|
|
|
|
if redirect_info['status'] == 'error': |
|
|
|
raise ExtractorError( |
|
|
|