summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2015-01-04 02:20:45 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2015-01-04 02:20:45 +0100
commit2ccd1b10e58cc8e5173dc1aeedc2b3f0ef9b55bf (patch)
tree11fdba237df3f60d58698f4a602adf6b77da10e6
parent788fa208c86d7196c75bdc74d8106a489723c054 (diff)
downloadyoutube-dl-2ccd1b10e58cc8e5173dc1aeedc2b3f0ef9b55bf.tar.gz
youtube-dl-2ccd1b10e58cc8e5173dc1aeedc2b3f0ef9b55bf.tar.xz
youtube-dl-2ccd1b10e58cc8e5173dc1aeedc2b3f0ef9b55bf.zip
[soulanime] Fix under Python 3
-rw-r--r--youtube_dl/extractor/soulanime.py10
-rw-r--r--youtube_dl/utils.py11
2 files changed, 19 insertions, 2 deletions
diff --git a/youtube_dl/extractor/soulanime.py b/youtube_dl/extractor/soulanime.py
index 7adb10c03..feef33e27 100644
--- a/youtube_dl/extractor/soulanime.py
+++ b/youtube_dl/extractor/soulanime.py
@@ -3,6 +3,10 @@ from __future__ import unicode_literals
 import re
 
 from .common import InfoExtractor
+from ..utils import (
+    HEADRequest,
+    urlhandle_detect_ext,
+)
 
 
 class SoulAnimeWatchingIE(InfoExtractor):
@@ -31,8 +35,10 @@ class SoulAnimeWatchingIE(InfoExtractor):
             r'<div id="download">[^<]*<a href="(?P<url>[^"]+)"', page, 'url')
         video_url = "http://www.soul-anime." + domain + video_url_encoded
 
-        vid = self._request_webpage(video_url, video_id)
-        ext = vid.info().gettype().split("/")[1]
+        ext_req = HEADRequest(video_url)
+        ext_handle = self._request_webpage(
+            ext_req, video_id, note='Determining extension')
+        ext = urlhandle_detect_ext(ext_handle)
 
         return {
             'id': video_id,
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index efbe64fb3..bdfe053a7 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -1550,3 +1550,14 @@ def ytdl_is_updateable():
 def args_to_str(args):
     # Get a short string representation for a subprocess command
     return ' '.join(shlex_quote(a) for a in args)
+
+
+def urlhandle_detect_ext(url_handle):
+    try:
+        url_handle.headers
+        getheader = lambda h: url_handle.headers[h]
+    except AttributeError:  # Python < 3
+        getheader = url_handle.info().getheader
+
+    return getheader('Content-Type').split("/")[1]
+