[facebook] Report a more meaningful message if the video cannot be accessed (closes #1658)

This commit is contained in:
Jaime Marquínez Ferrándiz 2013-10-27 12:09:46 +01:00
parent 67874aeffa
commit 6f71ef580c

View File

@ -100,7 +100,12 @@ def _real_extract(self, url):
AFTER = '.forEach(function(variable) {swf.addVariable(variable[0], variable[1]);});' AFTER = '.forEach(function(variable) {swf.addVariable(variable[0], variable[1]);});'
m = re.search(re.escape(BEFORE) + '(.*?)' + re.escape(AFTER), webpage) m = re.search(re.escape(BEFORE) + '(.*?)' + re.escape(AFTER), webpage)
if not m: if not m:
raise ExtractorError(u'Cannot parse data') m_msg = re.search(r'class="[^"]*uiInterstitialContent[^"]*"><div>(.*?)</div>', webpage)
if m_msg is not None:
err_msg = u'The video is not available, Facebook said: "%s"' % m_msg.group(1)
else:
err_msg = u'Cannot parse data'
raise ExtractorError(err_msg)
data = dict(json.loads(m.group(1))) data = dict(json.loads(m.group(1)))
params_raw = compat_urllib_parse.unquote(data['params']) params_raw = compat_urllib_parse.unquote(data['params'])
params = json.loads(params_raw) params = json.loads(params_raw)