aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
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 /youtube_dl
parent788fa208c86d7196c75bdc74d8106a489723c054 (diff)
[soulanime] Fix under Python 3
Diffstat (limited to 'youtube_dl')
-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]
+