]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/viki.py
[ie/orf:on] Improve extraction (#9677)
[yt-dlp.git] / yt_dlp / extractor / viki.py
index 19b09121cd887c82ccde64b94cea2a1e0a36c3b1..3246dab526c67bb6785cfea771e00e55236c7815 100644 (file)
@@ -1,5 +1,3 @@
-# coding: utf-8
-from __future__ import unicode_literals
 import hashlib
 import hmac
 import json
@@ -99,14 +97,7 @@ def _check_errors(self, data):
                     self.raise_login_required(message)
                 self._raise_error(message)
 
-    def _real_initialize(self):
-        self._login()
-
-    def _login(self):
-        username, password = self._get_login_info()
-        if username is None:
-            return
-
+    def _perform_login(self, username, password):
         self._token = self._call_api(
             'sessions.json', None, 'Logging in', fatal=False,
             data={'username': username, 'password': password}).get('token')
@@ -268,11 +259,10 @@ def _real_extract(self, url):
         mpd_content = self._download_webpage(mpd_url, video_id, note='Downloading initial MPD manifest')
         mpd_url = self._search_regex(
             r'(?mi)<BaseURL>(http.+.mpd)', mpd_content, 'new manifest', default=mpd_url)
-        if 'mpdhd_high' not in mpd_url:
+        if 'mpdhd_high' not in mpd_url and 'sig=' not in mpd_url:
             # Modify the URL to get 1080p
             mpd_url = mpd_url.replace('mpdhd', 'mpdhd_high')
         formats = self._extract_mpd_formats(mpd_url, video_id)
-        self._sort_formats(formats)
 
         return {
             'id': video_id,