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 /youtube_dl/extractor/yam.py | |
| parent | 3a77719c5ac60f7e634a7a8def82acb08ccc9ffc (diff) | |
| parent | bd05aa4e24774a9aa9f68a8379900e6b756aae11 (diff) | |
Merge pull request #5150 from yan12125/yam_fix
[Yam] Add an error detection and update test cases
Diffstat (limited to 'youtube_dl/extractor/yam.py')
| -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/[^"]+)"', | 
