|
|
@ -39,9 +39,17 @@ class ThePlatformBaseIE(OnceIE): |
|
|
|
smil_url, video_id, note=note, query={'format': 'SMIL'}, |
|
|
|
headers=self.geo_verification_headers()) |
|
|
|
error_element = find_xpath_attr(meta, _x('.//smil:ref'), 'src') |
|
|
|
if error_element is not None and error_element.attrib['src'].startswith( |
|
|
|
'http://link.theplatform.%s/s/errorFiles/Unavailable.' % self._TP_TLD): |
|
|
|
raise ExtractorError(error_element.attrib['abstract'], expected=True) |
|
|
|
if error_element is not None: |
|
|
|
exception = find_xpath_attr( |
|
|
|
error_element, _x('.//smil:param'), 'name', 'exception') |
|
|
|
if exception is not None: |
|
|
|
if exception.get('value') == 'GeoLocationBlocked': |
|
|
|
self.raise_geo_restricted(error_element.attrib['abstract']) |
|
|
|
elif error_element.attrib['src'].startswith( |
|
|
|
'http://link.theplatform.%s/s/errorFiles/Unavailable.' |
|
|
|
% self._TP_TLD): |
|
|
|
raise ExtractorError( |
|
|
|
error_element.attrib['abstract'], expected=True) |
|
|
|
|
|
|
|
smil_formats = self._parse_smil_formats( |
|
|
|
meta, smil_url, video_id, namespace=default_ns, |
|
|
|