[vgtv] Detect geo restricted videos (#10348)

master
Sergey M․ 2016-08-14 16:25:14 +07:00
parent aaf44a2f47
commit 320d597c21
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
1 changed files with 12 additions and 0 deletions

View File

@ -8,6 +8,7 @@ from .xstream import XstreamIE
from ..utils import ( from ..utils import (
ExtractorError, ExtractorError,
float_or_none, float_or_none,
try_get,
) )
@ -129,6 +130,11 @@ class VGTVIE(XstreamIE):
'url': 'http://ap.vgtv.no/webtv#!/video/111084/de-nye-bysyklene-lettere-bedre-gir-stoerre-hjul-og-feste-til-mobil', 'url': 'http://ap.vgtv.no/webtv#!/video/111084/de-nye-bysyklene-lettere-bedre-gir-stoerre-hjul-og-feste-til-mobil',
'only_matching': True, 'only_matching': True,
}, },
{
# geoblocked
'url': 'http://www.vgtv.no/#!/video/127205/inside-the-mind-of-favela-funk',
'only_matching': True,
},
] ]
def _real_extract(self, url): def _real_extract(self, url):
@ -196,6 +202,12 @@ class VGTVIE(XstreamIE):
info['formats'].extend(formats) info['formats'].extend(formats)
if not info['formats']:
properties = try_get(
data, lambda x: x['streamConfiguration']['properties'], list)
if properties and 'geoblocked' in properties:
raise self.raise_geo_restricted()
self._sort_formats(info['formats']) self._sort_formats(info['formats'])
info.update({ info.update({