[openload] Fix ext extraction
authorSergey M․ <dstftw@gmail.com>
Sun, 24 Apr 2016 18:03:29 +0000 (00:03 +0600)
committerSergey M․ <dstftw@gmail.com>
Sun, 24 Apr 2016 18:03:29 +0000 (00:03 +0600)
youtube_dl/extractor/openload.py

index 216a407455ef130e86dda79a8be00f1a79541884..697f312c3ff0bf8063b91067ffa397d7edad0422 100644 (file)
@@ -6,8 +6,10 @@ import re
 from .common import InfoExtractor
 from ..compat import compat_chr
 from ..utils import (
+    determine_ext,
     encode_base_n,
     ExtractorError,
+    mimetype2ext,
 )
 
 
@@ -96,17 +98,25 @@ class OpenloadIE(InfoExtractor):
             r'<video[^>]+>\s*<script[^>]+>([^<]+)</script>',
             webpage, 'JS code')
 
+        decoded = self.openload_decode(code)
+
         video_url = self._search_regex(
-            r'return\s+"(https?://[^"]+)"', self.openload_decode(code), 'video URL')
+            r'return\s+"(https?://[^"]+)"', decoded, 'video URL')
 
         title = self._og_search_title(webpage, default=None) or self._search_regex(
             r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage,
             'title', default=None) or self._html_search_meta(
             'description', webpage, 'title', fatal=True)
 
+        ext = mimetype2ext(self._search_regex(
+            r'window\.vt\s*=\s*(["\'])(?P<mimetype>.+?)\1', decoded,
+            'mimetype', default=None, group='mimetype')) or determine_ext(
+            video_url, 'mp4')
+
         return {
             'id': video_id,
             'title': title,
+            'ext': ext,
             'thumbnail': self._og_search_thumbnail(webpage),
             'url': video_url,
         }