From b773ead7fdfa94252e48b55cfaf3b8368d165a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Mon, 10 Mar 2014 18:52:00 +0700 Subject: [PATCH 1/2] [vesti] Add support for more sites (Closes #2534) --- youtube_dl/extractor/vesti.py | 72 +++++++++++++++++++++++++++-------- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/youtube_dl/extractor/vesti.py b/youtube_dl/extractor/vesti.py index 84268439a..916681fae 100644 --- a/youtube_dl/extractor/vesti.py +++ b/youtube_dl/extractor/vesti.py @@ -13,7 +13,7 @@ from ..utils import ( class VestiIE(InfoExtractor): IE_NAME = 'vesti' IE_DESC = 'Вести.Ru' - _VALID_URL = r'http://(?:.+?\.)?(?:vesti\.ru|russia\.tv)/(?P.+)' + _VALID_URL = r'http://(?:(?:.+?\.)?vesti\.ru|(?:2\.)?russia\.tv|tvkultura\.ru|rutv\.ru)/(?P.+)' _TESTS = [ { @@ -72,6 +72,35 @@ class VestiIE(InfoExtractor): 'skip_download': True, }, }, + { + 'url': 'http://sochi2014.vesti.ru/video/index/video_id/766403', + 'info_dict': { + 'id': '766403', + 'ext': 'mp4', + 'title': 'XXII зимние Олимпийские игры. Российские хоккеисты стартовали на Олимпиаде с победы', + 'description': 'md5:55805dfd35763a890ff50fa9e35e31b3', + 'duration': 271, + }, + 'params': { + # m3u8 download + 'skip_download': True, + }, + 'skip': 'Blocked outside Russia' + }, + { + 'url': 'http://sochi2014.vesti.ru/live/play/live_id/301', + 'info_dict': { + 'id': '51499', + 'ext': 'flv', + 'title': 'Сочи-2014. Биатлон. Индивидуальная гонка. Мужчины ', + 'description': 'md5:9e0ed5c9d2fa1efbfdfed90c9a6d179c', + }, + 'params': { + # rtmp download + 'skip_download': True, + }, + 'skip': 'Translation has finished' + }, { 'url': 'http://russia.tv/video/show/brand_id/5169/episode_id/970443/video_id/975648', 'info_dict': { @@ -101,34 +130,47 @@ class VestiIE(InfoExtractor): }, }, { - 'url': 'http://sochi2014.vesti.ru/video/index/video_id/766403', + 'url': 'http://2.russia.tv/video/show/brand_id/48863/episode_id/972920/video_id/978667/viewtype/picture', 'info_dict': { - 'id': '766403', + 'id': '775081', 'ext': 'mp4', - 'title': 'XXII зимние Олимпийские игры. Российские хоккеисты стартовали на Олимпиаде с победы', - 'description': 'md5:55805dfd35763a890ff50fa9e35e31b3', - 'duration': 271, + 'title': 'XXII зимние Олимпийские игры. Россияне заняли весь пьедестал в лыжных гонках', + 'description': 'md5:15d3741dd8d04b203fbc031c6a47fb0f', + 'duration': 101, }, 'params': { # m3u8 download 'skip_download': True, }, - 'skip': 'Blocked outside Russia' }, { - 'url': 'http://sochi2014.vesti.ru/live/play/live_id/301', + 'url': 'http://tvkultura.ru/video/show/brand_id/31724/episode_id/972347/video_id/978186', 'info_dict': { - 'id': '51499', - 'ext': 'flv', - 'title': 'Сочи-2014. Биатлон. Индивидуальная гонка. Мужчины ', - 'description': 'md5:9e0ed5c9d2fa1efbfdfed90c9a6d179c', + 'id': '774471', + 'ext': 'mp4', + 'title': 'Монологи на все времена', + 'description': 'md5:18d8b5e6a41fb1faa53819471852d5d5', + 'duration': 2906, }, 'params': { - # rtmp download + # m3u8 download 'skip_download': True, }, - 'skip': 'Translation has finished' - } + }, + { + 'url': 'http://rutv.ru/brand/show/id/6792/channel/75', + 'info_dict': { + 'id': '125521', + 'ext': 'mp4', + 'title': 'Грустная дама червей. Х/ф', + 'description': '', + 'duration': 4882, + }, + 'params': { + # m3u8 download + 'skip_download': True, + }, + }, ] def _real_extract(self, url): From 4126826b10b0571633c36535590d1ad7c0fa73dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Sun, 9 Mar 2014 20:24:19 +0100 Subject: [PATCH 2/2] [photobucket] More unicode literals --- youtube_dl/extractor/photobucket.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/youtube_dl/extractor/photobucket.py b/youtube_dl/extractor/photobucket.py index 58863e382..a59953497 100644 --- a/youtube_dl/extractor/photobucket.py +++ b/youtube_dl/extractor/photobucket.py @@ -10,10 +10,10 @@ from .common import InfoExtractor class PhotobucketIE(InfoExtractor): _VALID_URL = r'http://(?:[a-z0-9]+\.)?photobucket\.com/.*(([\?\&]current=)|_)(?P.*)\.(?P(flv)|(mp4))' _TEST = { - u'url': u'http://media.photobucket.com/user/rachaneronas/media/TiredofLinkBuildingTryBacklinkMyDomaincom_zpsc0c3b9fa.mp4.html?filters[term]=search&filters[primary]=videos&filters[secondary]=images&sort=1&o=0', - u'file': u'zpsc0c3b9fa.mp4', - u'md5': u'7dabfb92b0a31f6c16cebc0f8e60ff99', - u'info_dict': { + 'url': 'http://media.photobucket.com/user/rachaneronas/media/TiredofLinkBuildingTryBacklinkMyDomaincom_zpsc0c3b9fa.mp4.html?filters[term]=search&filters[primary]=videos&filters[secondary]=images&sort=1&o=0', + 'file': 'zpsc0c3b9fa.mp4', + 'md5': '7dabfb92b0a31f6c16cebc0f8e60ff99', + 'info_dict': { 'upload_date': '20130504', 'uploader': 'rachaneronas', 'title': 'Tired of Link Building? Try BacklinkMyDomain.com!', @@ -34,10 +34,10 @@ class PhotobucketIE(InfoExtractor): info = json.loads(info_json) return { 'id': video_id, - 'url': info[u'downloadUrl'], - 'uploader': info[u'username'], - 'upload_date': datetime.date.fromtimestamp(info[u'creationDate']).strftime('%Y%m%d'), - 'title': info[u'title'], + 'url': info['downloadUrl'], + 'uploader': info['username'], + 'upload_date': datetime.date.fromtimestamp(info['creationDate']).strftime('%Y%m%d'), + 'title': info['title'], 'ext': video_extension, - 'thumbnail': info[u'thumbUrl'], + 'thumbnail': info['thumbUrl'], }