commit 9fbfc9bd4dd076e2b00f68dc43ce4fa0ed72c949
parent 242a998bdc5e808411870d7b13395b7739501f16
Author: Sergey M․ <dstftw@gmail.com>
Date: Sat, 27 Jun 2015 18:50:26 +0600
[snagfilms:embed] Capture geolocation restriction error
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/extractor/snagfilms.py b/youtube_dl/extractor/snagfilms.py
@@ -4,6 +4,7 @@ import re
from .common import InfoExtractor
from ..utils import (
+ ExtractorError,
clean_html,
determine_ext,
int_or_none,
@@ -30,7 +31,8 @@ class SnagFilmsEmbedIE(InfoExtractor):
@staticmethod
def _extract_url(webpage):
mobj = re.search(
- r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:embed\.)?snagfilms\.com/embed/player.+?)\1', webpage)
+ r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:embed\.)?snagfilms\.com/embed/player.+?)\1',
+ webpage)
if mobj:
return mobj.group('url')
@@ -39,6 +41,10 @@ class SnagFilmsEmbedIE(InfoExtractor):
webpage = self._download_webpage(url, video_id)
+ if '>This film is not playable in your area.<' in webpage:
+ raise ExtractorError(
+ 'This film is not playable in your area.', expected=True)
+
formats = []
for source in self._parse_json(js_to_json(self._search_regex(
r'(?s)sources:\s*(\[.+?\]),', webpage, 'json')), video_id):