diff options
author | Sergey M. <dstftw@gmail.com> | 2015-03-12 21:01:49 +0600 |
---|---|---|
committer | Sergey M. <dstftw@gmail.com> | 2015-03-12 21:01:49 +0600 |
commit | 602814adab97d605d1fe84d6439c33325dba15c7 (patch) | |
tree | 2d93c3b8087d2d830587a98b6b348ec33b4138e2 | |
parent | 3a77719c5ac60f7e634a7a8def82acb08ccc9ffc (diff) | |
parent | bd05aa4e24774a9aa9f68a8379900e6b756aae11 (diff) |
Merge pull request #5150 from yan12125/yam_fix
[Yam] Add an error detection and update test cases
-rw-r--r-- | youtube_dl/extractor/yam.py | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/youtube_dl/extractor/yam.py b/youtube_dl/extractor/yam.py index b294767c5..19ad74d04 100644 --- a/youtube_dl/extractor/yam.py +++ b/youtube_dl/extractor/yam.py @@ -8,6 +8,7 @@ from ..compat import compat_urlparse from ..utils import ( float_or_none, month_by_abbreviation, + ExtractorError, ) @@ -28,23 +29,44 @@ class YamIE(InfoExtractor): } }, { # An external video hosted on YouTube - 'url': 'http://mymedia.yam.com/m/3598173', - 'md5': '0238ceec479c654e8c2f1223755bf3e9', + 'url': 'http://mymedia.yam.com/m/3599430', + 'md5': '03127cf10d8f35d120a9e8e52e3b17c6', 'info_dict': { - 'id': 'pJ2Deys283c', + 'id': 'CNpEoQlrIgA', 'ext': 'mp4', - 'upload_date': '20150202', + 'upload_date': '20150306', 'uploader': '新莊社大瑜伽社', - 'description': 'md5:f5cc72f0baf259a70fb731654b0d2eff', + 'description': 'md5:11e2e405311633ace874f2e6226c8b17', 'uploader_id': '2323agoy', - 'title': '外婆的澎湖灣KTV-潘安邦', + 'title': '20090412陽明山二子坪-1', } + }, { + 'url': 'http://mymedia.yam.com/m/3598173', + 'info_dict': { + 'id': '3598173', + 'ext': 'mp4', + }, + 'skip': 'cause Yam system error', + }, { + 'url': 'http://mymedia.yam.com/m/3599437', + 'info_dict': { + 'id': '3599437', + 'ext': 'mp4', + }, + 'skip': 'invalid YouTube URL', }] def _real_extract(self, url): video_id = self._match_id(url) page = self._download_webpage(url, video_id) + # Check for errors + system_msg = self._html_search_regex( + r'系統訊息(?:<br>|\n|\r)*([^<>]+)<br>', page, 'system message', + default=None) + if system_msg: + raise ExtractorError(system_msg, expected=True) + # Is it hosted externally on YouTube? youtube_url = self._html_search_regex( r'<embed src="(http://www.youtube.com/[^"]+)"', |