diff options
| -rw-r--r-- | youtube_dl/extractor/theplatform.py | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py index ffef5bf06..181620615 100644 --- a/youtube_dl/extractor/theplatform.py +++ b/youtube_dl/extractor/theplatform.py @@ -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, | 
