diff options
| -rw-r--r-- | youtube_dl/extractor/canalplus.py | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/canalplus.py b/youtube_dl/extractor/canalplus.py index 9873728df..11d18d74a 100644 --- a/youtube_dl/extractor/canalplus.py +++ b/youtube_dl/extractor/canalplus.py @@ -5,6 +5,8 @@ import re  from .common import InfoExtractor  from ..utils import ( +    ExtractorError, +    HEADRequest,      unified_strdate,      url_basename,      qualities, @@ -76,6 +78,16 @@ class CanalplusIE(InfoExtractor):          preference = qualities(['MOBILE', 'BAS_DEBIT', 'HAUT_DEBIT', 'HD', 'HLS', 'HDS']) +        fmt_url = next(iter(media.find('VIDEOS'))).text +        if '/geo' in fmt_url.lower(): +            response = self._request_webpage( +                HEADRequest(fmt_url), video_id, +                'Checking if the video is georestricted') +            if '/blocage' in response.geturl(): +                raise ExtractorError( +                    'The video is not available in your country', +                    expected=True) +          formats = []          for fmt in media.find('VIDEOS'):              format_url = fmt.text | 
