X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fmyvi.py;h=4c65be122fd536c6e39fd9f10052e8933e96417d;hb=f745403b5b448c170710256a61b8505e09e77674;hp=9f4330f506ae594b35a4052147c931cf862b218a;hpb=1c20ddc966a69a241027c2d9a132b9caf3d0ebde;p=youtube-dl diff --git a/youtube_dl/extractor/myvi.py b/youtube_dl/extractor/myvi.py index 9f4330f50..4c65be122 100644 --- a/youtube_dl/extractor/myvi.py +++ b/youtube_dl/extractor/myvi.py @@ -1,21 +1,24 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .vimple import SprutoBaseIE -class MyviEmbedIE(SprutoBaseIE): +class MyviIE(SprutoBaseIE): _VALID_URL = r'''(?x) https?:// - myvi\.ru/player/ + myvi\.(?:ru/player|tv)/ (?: (?: embed/html| + flash| api/Video/Get )/| content/preloader\.swf\?.*\bid= ) - (?P[\da-zA-Z_]+) + (?P[\da-zA-Z_-]+) ''' _TESTS = [{ 'url': 'http://myvi.ru/player/embed/html/oOy4euHA6LVwNNAjhD9_Jq5Ha2Qf0rtVMVFMAZav8wObeRTZaCATzucDQIDph8hQU0', @@ -33,8 +36,21 @@ class MyviEmbedIE(SprutoBaseIE): }, { 'url': 'http://myvi.ru/player/api/Video/Get/oOy4euHA6LVwNNAjhD9_Jq5Ha2Qf0rtVMVFMAZav8wObeRTZaCATzucDQIDph8hQU0', 'only_matching': True, + }, { + 'url': 'http://myvi.tv/embed/html/oTGTNWdyz4Zwy_u1nraolwZ1odenTd9WkTnRfIL9y8VOgHYqOHApE575x4_xxS9Vn0?ap=0', + 'only_matching': True, + }, { + 'url': 'http://myvi.ru/player/flash/ocp2qZrHI-eZnHKQBK4cZV60hslH8LALnk0uBfKsB-Q4WnY26SeGoYPi8HWHxu0O30', + 'only_matching': True, }] + @classmethod + def _extract_url(cls, webpage): + mobj = re.search( + r']+?src=(["\'])(?P(?:https?:)?//myvi\.(?:ru/player|tv)/(?:embed/html|flash)/[^"]+)\1', webpage) + if mobj: + return mobj.group('url') + def _real_extract(self, url): video_id = self._match_id(url)