From 5b66de88592f124b586f90ef3bbd0e2d3d91968c Mon Sep 17 00:00:00 2001
From: Johny Mo Swag <johnymo@me.com>
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<id>.*)\.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"<title>(.*)</title>",
+            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 <johnymo@me.com>
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 <johnymo@me.com>
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)