[wdr] Misc changes
authorYen Chi Hsuan <yan12125@gmail.com>
Thu, 9 Jun 2016 05:49:35 +0000 (13:49 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Thu, 9 Jun 2016 05:49:35 +0000 (13:49 +0800)
youtube_dl/extractor/wdr.py

index 88369d3f2385f63265f89077fd5637ec35d1a158..a9238cbeb03549325cb27dd9fdb319829c7bf59e 100644 (file)
@@ -6,10 +6,10 @@ import re
 from .common import InfoExtractor
 from ..utils import (
     determine_ext,
+    ExtractorError,
     js_to_json,
     strip_jsonp,
     unified_strdate,
-    ExtractorError,
     update_url_query,
     urlhandle_detect_ext,
 )
@@ -17,7 +17,7 @@ from ..utils import (
 
 class WDRIE(InfoExtractor):
     _CURRENT_MAUS_URL = r'https?://(?:www\.)wdrmaus.de/(?:[^/]+/){1,2}[^/?#]+\.php5'
-    _PAGE_REGEX = r'/(?:mediathek/)?(?P<media_type>[^/]+)/(?P<type>[^/]+)/(?P<display_id>.+)\.html'
+    _PAGE_REGEX = r'/(?:mediathek/)?[^/]+/(?P<type>[^/]+)/(?P<display_id>.+)\.html'
     _VALID_URL = r'(?P<page_url>https?://(?:www\d\.)?wdr\d?\.de)' + _PAGE_REGEX + '|' + _CURRENT_MAUS_URL
 
     _TESTS = [
@@ -162,10 +162,9 @@ class WDRIE(InfoExtractor):
 
                 ext = determine_ext(medium_url)
                 if ext == 'm3u8':
-                    m3u_fmt = self._extract_m3u8_formats(
+                    formats.extend(self._extract_m3u8_formats(
                         medium_url, display_id, 'mp4', 'm3u8_native',
-                        m3u8_id='hls')
-                    formats.extend(m3u_fmt)
+                        m3u8_id='hls'))
                 elif ext == 'f4m':
                     manifest_url = update_url_query(
                         medium_url, {'hdcore': '3.2.0', 'plugin': 'aasp-3.2.0.77.18'})
@@ -185,6 +184,8 @@ class WDRIE(InfoExtractor):
                         a_format['ext'] = ext
                     formats.append(a_format)
 
+        self._sort_formats(formats)
+
         subtitles = {}
         caption_url = metadata_media_resource.get('captionURL')
         if caption_url:
@@ -206,8 +207,6 @@ class WDRIE(InfoExtractor):
         if upload_date:
             upload_date = unified_strdate(upload_date)
 
-        self._sort_formats(formats)
-
         return {
             'id': metadata_tracker_data.get('trackerClipId', display_id),
             'display_id': display_id,