[npo] detect geo restriction
This commit is contained in:
		| @@ -3,6 +3,7 @@ from __future__ import unicode_literals | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..compat import compat_HTTPError | ||||
| from ..utils import ( | ||||
|     fix_xml_ampersands, | ||||
|     orderedSet, | ||||
| @@ -10,6 +11,7 @@ from ..utils import ( | ||||
|     qualities, | ||||
|     strip_jsonp, | ||||
|     unified_strdate, | ||||
|     ExtractorError, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -181,9 +183,16 @@ class NPOIE(NPOBaseIE): | ||||
|                     continue | ||||
|                 streams = format_info.get('streams') | ||||
|                 if streams: | ||||
|                     try: | ||||
|                         video_info = self._download_json( | ||||
|                             streams[0] + '&type=json', | ||||
|                             video_id, 'Downloading %s stream JSON' % format_id) | ||||
|                     except ExtractorError as ee: | ||||
|                         if isinstance(ee.cause, compat_HTTPError) and ee.cause.code == 404: | ||||
|                             error = (self._parse_json(ee.cause.read().decode(), video_id, fatal=False) or {}).get('errorstring') | ||||
|                             if error: | ||||
|                                 raise ExtractorError(error, expected=True) | ||||
|                         raise | ||||
|                 else: | ||||
|                     video_info = format_info | ||||
|                 video_url = video_info.get('url') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Remita Amine
					Remita Amine