From 57b8d84cd9e0bbd67fb6fc51ebea3732acbf2a25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Tue, 29 Apr 2014 14:57:38 +0200 Subject: [PATCH] [5min] Raise an error if the 'success' field is False For example for georestricted videos. --- youtube_dl/extractor/fivemin.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/fivemin.py b/youtube_dl/extractor/fivemin.py index b596bf587b..3a50bab5c9 100644 --- a/youtube_dl/extractor/fivemin.py +++ b/youtube_dl/extractor/fivemin.py @@ -6,6 +6,7 @@ from ..utils import ( compat_str, compat_urllib_parse, + ExtractorError, ) @@ -58,9 +59,17 @@ def _real_extract(self, url): 'isPlayerSeed': 'true', 'url': embed_url, }) - info = self._download_json( + response = self._download_json( 'https://syn.5min.com/handlers/SenseHandler.ashx?' + query, - video_id)['binding'][0] + video_id) + if not response['success']: + err_msg = response['errorMessage'] + if err_msg == 'ErrorVideoUserNotGeo': + msg = 'Video not available from your location' + else: + msg = 'Aol said: %s' % err_msg + raise ExtractorError(msg, expected=True, video_id=video_id) + info = response['binding'][0] second_id = compat_str(int(video_id[:-2]) + 1) formats = []