about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-08-23 17:21:30 +0200
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-08-23 17:21:30 +0200
commit53b0f3e4e290016ccc0a905ec8a18efb5bd9af8a (patch)
treeb6d544818a93862cda4182e8efbd74a1323b00b7
parentd4051a8e051a06ddeab905a4b5fcc7ddb70952bf (diff)
parent4353cf51a0d5a812ab8a6bda59be7c58149fb40e (diff)
downloadyoutube-dl-53b0f3e4e290016ccc0a905ec8a18efb5bd9af8a.tar.gz
youtube-dl-53b0f3e4e290016ccc0a905ec8a18efb5bd9af8a.tar.xz
youtube-dl-53b0f3e4e290016ccc0a905ec8a18efb5bd9af8a.zip
Merge pull request #1301 from rzhxeo/xhamster
XHamsterIE: Fix video extension and add video description
-rw-r--r--youtube_dl/extractor/xhamster.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/youtube_dl/extractor/xhamster.py b/youtube_dl/extractor/xhamster.py
index 0f1feeffd..0fd077583 100644
--- a/youtube_dl/extractor/xhamster.py
+++ b/youtube_dl/extractor/xhamster.py
@@ -3,7 +3,7 @@ import re
 from .common import InfoExtractor
 from ..utils import (
     compat_urllib_parse,
-
+    unescapeHTML,
     ExtractorError,
 )
 
@@ -36,15 +36,17 @@ class XHamsterIE(InfoExtractor):
             video_url = compat_urllib_parse.unquote(mobj.group('file'))
         else:
             video_url = mobj.group('server')+'/key='+mobj.group('file')
-        video_extension = video_url.split('.')[-1]
+        video_extension = video_url.split('.')[-1].split('?')[0]
 
         video_title = self._html_search_regex(r'<title>(?P<title>.+?) - xHamster\.com</title>',
             webpage, u'title')
 
-        # Can't see the description anywhere in the UI
-        # video_description = self._html_search_regex(r'<span>Description: </span>(?P<description>[^<]+)',
-        #     webpage, u'description', fatal=False)
-        # if video_description: video_description = unescapeHTML(video_description)
+        # Only a few videos have an description
+        mobj = re.search('<span>Description: </span>(?P<description>[^<]+)', webpage)
+        if mobj:
+            video_description = unescapeHTML(mobj.group('description'))
+        else:
+            video_description = None
 
         mobj = re.search(r'hint=\'(?P<upload_date_Y>[0-9]{4})-(?P<upload_date_m>[0-9]{2})-(?P<upload_date_d>[0-9]{2}) [0-9]{2}:[0-9]{2}:[0-9]{2} [A-Z]{3,4}\'', webpage)
         if mobj:
@@ -64,7 +66,7 @@ class XHamsterIE(InfoExtractor):
             'url':      video_url,
             'ext':      video_extension,
             'title':    video_title,
-            # 'description': video_description,
+            'description': video_description,
             'upload_date': video_upload_date,
             'uploader_id': video_uploader_id,
             'thumbnail': video_thumbnail