[tfo] Improve geo restriction detection and use geo bypass mechanism
This commit is contained in:
		@@ -8,10 +8,12 @@ from ..utils import (
 | 
			
		||||
    HEADRequest,
 | 
			
		||||
    ExtractorError,
 | 
			
		||||
    int_or_none,
 | 
			
		||||
    clean_html,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TFOIE(InfoExtractor):
 | 
			
		||||
    _GEO_COUNTRIES = ['CA']
 | 
			
		||||
    _VALID_URL = r'https?://(?:www\.)?tfo\.org/(?:en|fr)/(?:[^/]+/){2}(?P<id>\d+)'
 | 
			
		||||
    _TEST = {
 | 
			
		||||
        'url': 'http://www.tfo.org/en/universe/tfo-247/100463871/video-game-hackathon',
 | 
			
		||||
@@ -36,7 +38,9 @@ class TFOIE(InfoExtractor):
 | 
			
		||||
                'X-tfo-session': self._get_cookies('http://www.tfo.org/')['tfo-session'].value,
 | 
			
		||||
            })
 | 
			
		||||
        if infos.get('success') == 0:
 | 
			
		||||
            raise ExtractorError('%s said: %s' % (self.IE_NAME, infos['msg']), expected=True)
 | 
			
		||||
            if infos.get('code') == 'ErrGeoBlocked':
 | 
			
		||||
                self.raise_geo_restricted(countries=self._GEO_COUNTRIES)
 | 
			
		||||
            raise ExtractorError('%s said: %s' % (self.IE_NAME, clean_html(infos['msg'])), expected=True)
 | 
			
		||||
        video_data = infos['data']
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user