From 5b66de88592f124b586f90ef3bbd0e2d3d91968c Mon Sep 17 00:00:00 2001 From: Johny Mo Swag Date: Wed, 26 Jun 2013 18:38:48 -0700 Subject: [PATCH 1/3] Added HotNewHipHop IE --- youtube_dl/extractor/__init__.py | 2 ++ youtube_dl/extractor/hotnewhiphop.py | 39 ++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 youtube_dl/extractor/hotnewhiphop.py diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 2750fc8f9..cc818fcc1 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -18,6 +18,7 @@ from .gametrailers import GametrailersIE from .generic import GenericIE from .googleplus import GooglePlusIE from .googlesearch import GoogleSearchIE +from .hotnewhiphop import HotNewHipHopIE from .howcast import HowcastIE from .hypem import HypemIE from .ina import InaIE @@ -136,6 +137,7 @@ def gen_extractors(): TudouIE(), CSpanIE(), WimpIE(), + HotNewHipHopIE(), GenericIE() ] diff --git a/youtube_dl/extractor/hotnewhiphop.py b/youtube_dl/extractor/hotnewhiphop.py new file mode 100644 index 000000000..fb403b14e --- /dev/null +++ b/youtube_dl/extractor/hotnewhiphop.py @@ -0,0 +1,39 @@ +import re +import base64 + +from .common import InfoExtractor + + +class HotNewHipHopIE(InfoExtractor): + _VALID_URL = r'(http://www\.hotnewhiphop.com/.*\.(?P.*)\.html)' + IE_NAME = u'HotNewHipHop' + + def _real_extract(self, url): + m = re.match(self._VALID_URL, url) + video_id = m.group('id') + + webpage_src = self._download_webpage(url, video_id) + + print video_id + + video_url_base64 = self._search_regex(r'data-path="(.*?)"', + webpage_src, u'video URL') + + video_url = base64.b64decode(video_url_base64) + + video_title = self._html_search_regex(r"(.*)", + webpage_src, u'title') + + #"og:image" content= + # Getting thumbnail and if not thumbnail sets correct title for WSHH candy video. + thumbnail = self._html_search_regex(r'"og:image" content="(.*)"', + webpage_src, u'thumbnail', fatal=False) + + results = [{ + 'id': video_id, + 'url' : video_url, + 'title' : video_title, + 'thumbnail' : thumbnail, + 'ext' : 'mp3', + }] + return results \ No newline at end of file From 8b50fed04b15647210f7597150b84514ca6ff7d0 Mon Sep 17 00:00:00 2001 From: Johny Mo Swag Date: Wed, 26 Jun 2013 19:04:05 -0700 Subject: [PATCH 2/3] removed print statement --- youtube_dl/extractor/hotnewhiphop.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/youtube_dl/extractor/hotnewhiphop.py b/youtube_dl/extractor/hotnewhiphop.py index fb403b14e..24f6e8143 100644 --- a/youtube_dl/extractor/hotnewhiphop.py +++ b/youtube_dl/extractor/hotnewhiphop.py @@ -14,8 +14,6 @@ class HotNewHipHopIE(InfoExtractor): webpage_src = self._download_webpage(url, video_id) - print video_id - video_url_base64 = self._search_regex(r'data-path="(.*?)"', webpage_src, u'video URL') From ed54491c60d15aee454a322bacbf2fb4ef38d2ab Mon Sep 17 00:00:00 2001 From: Johny Mo Swag Date: Thu, 27 Jun 2013 08:39:32 -0700 Subject: [PATCH 3/3] fix for detecting youtube embedded videos. --- youtube_dl/extractor/hotnewhiphop.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/hotnewhiphop.py b/youtube_dl/extractor/hotnewhiphop.py index 24f6e8143..b2fb56e70 100644 --- a/youtube_dl/extractor/hotnewhiphop.py +++ b/youtube_dl/extractor/hotnewhiphop.py @@ -15,7 +15,12 @@ class HotNewHipHopIE(InfoExtractor): webpage_src = self._download_webpage(url, video_id) video_url_base64 = self._search_regex(r'data-path="(.*?)"', - webpage_src, u'video URL') + webpage_src, u'video URL', fatal=False) + + if video_url_base64 == None: + video_url = self._search_regex(r'"contentUrl" content="(.*?)"', webpage_src, + u'video URL') + return self.url_result(video_url, ie='Youtube') video_url = base64.b64decode(video_url_base64)