mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[youtube] Raise GeoRestrictedError
This commit is contained in:
		@@ -47,7 +47,6 @@ from ..utils import (
 | 
				
			|||||||
    unsmuggle_url,
 | 
					    unsmuggle_url,
 | 
				
			||||||
    uppercase_escape,
 | 
					    uppercase_escape,
 | 
				
			||||||
    urlencode_postdata,
 | 
					    urlencode_postdata,
 | 
				
			||||||
    ISO3166Utils,
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -371,6 +370,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    _SUBTITLE_FORMATS = ('ttml', 'vtt')
 | 
					    _SUBTITLE_FORMATS = ('ttml', 'vtt')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _GEO_BYPASS = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    IE_NAME = 'youtube'
 | 
					    IE_NAME = 'youtube'
 | 
				
			||||||
    _TESTS = [
 | 
					    _TESTS = [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -917,7 +918,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
				
			|||||||
            # itag 212
 | 
					            # itag 212
 | 
				
			||||||
            'url': '1t24XAntNCY',
 | 
					            'url': '1t24XAntNCY',
 | 
				
			||||||
            'only_matching': True,
 | 
					            'only_matching': True,
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            # geo restricted to JP
 | 
				
			||||||
 | 
					            'url': 'sJL6WA-aGkQ',
 | 
				
			||||||
 | 
					            'only_matching': True,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, *args, **kwargs):
 | 
					    def __init__(self, *args, **kwargs):
 | 
				
			||||||
@@ -1376,11 +1382,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
				
			|||||||
        if 'token' not in video_info:
 | 
					        if 'token' not in video_info:
 | 
				
			||||||
            if 'reason' in video_info:
 | 
					            if 'reason' in video_info:
 | 
				
			||||||
                if 'The uploader has not made this video available in your country.' in video_info['reason']:
 | 
					                if 'The uploader has not made this video available in your country.' in video_info['reason']:
 | 
				
			||||||
                    regions_allowed = self._html_search_meta('regionsAllowed', video_webpage, default=None)
 | 
					                    regions_allowed = self._html_search_meta(
 | 
				
			||||||
                    if regions_allowed:
 | 
					                        'regionsAllowed', video_webpage, default=None)
 | 
				
			||||||
                        raise ExtractorError('YouTube said: This video is available in %s only' % (
 | 
					                    countries = regions_allowed.split(',') if regions_allowed else None
 | 
				
			||||||
                            ', '.join(map(ISO3166Utils.short2full, regions_allowed.split(',')))),
 | 
					                    self.raise_geo_restricted(
 | 
				
			||||||
                            expected=True)
 | 
					                        msg=video_info['reason'][0], countries=countries)
 | 
				
			||||||
                raise ExtractorError(
 | 
					                raise ExtractorError(
 | 
				
			||||||
                    'YouTube said: %s' % video_info['reason'][0],
 | 
					                    'YouTube said: %s' % video_info['reason'][0],
 | 
				
			||||||
                    expected=True, video_id=video_id)
 | 
					                    expected=True, video_id=video_id)
 | 
				
			||||||
@@ -2126,6 +2132,10 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor):
 | 
				
			|||||||
            'id': 'UUs0ifCMCm1icqRbqhUINa0w',
 | 
					            'id': 'UUs0ifCMCm1icqRbqhUINa0w',
 | 
				
			||||||
            'title': 'Uploads from Deus Ex',
 | 
					            'title': 'Uploads from Deus Ex',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					    }, {
 | 
				
			||||||
 | 
					        # geo restricted to JP
 | 
				
			||||||
 | 
					        'url': 'https://www.youtube.com/user/kananishinoSMEJ',
 | 
				
			||||||
 | 
					        'only_matching': True,
 | 
				
			||||||
    }]
 | 
					    }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user