Browse Source

[npo] detect geo restriction

totalwebcasting
Remita Amine 8 years ago
parent
commit
017eb82934
1 changed files with 12 additions and 3 deletions
  1. +12
    -3
      youtube_dl/extractor/npo.py

+ 12
- 3
youtube_dl/extractor/npo.py View File

@ -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:
video_info = self._download_json(
streams[0] + '&type=json',
video_id, 'Downloading %s stream JSON' % format_id)
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')


Loading…
Cancel
Save