]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/playplustv.py
[extractor] Add `_perform_login` function (#2943)
[yt-dlp.git] / yt_dlp / extractor / playplustv.py
index fd72a3717aad70632bc1d03ab5032b699ce39c4a..cad2c3a0f4d75f9301476d71623547b3e1c50a97 100644 (file)
@@ -38,14 +38,10 @@ def _call_api(self, resource, video_id=None, query=None):
             'Authorization': 'Bearer ' + self._token,
         }, query=query)
 
-    def _real_initialize(self):
-        email, password = self._get_login_info()
-        if email is None:
-            self.raise_login_required()
-
+    def _perform_login(self, username, password):
         req = PUTRequest(
             'https://api.playplus.tv/api/web/login', json.dumps({
-                'email': email,
+                'email': username,
                 'password': password,
             }).encode(), {
                 'Content-Type': 'application/json; charset=utf-8',
@@ -61,6 +57,10 @@ def _real_initialize(self):
 
         self._profile = self._call_api('Profiles')['list'][0]['_id']
 
+    def _real_initialize(self):
+        if not self._token:
+            self.raise_login_required(method='password')
+
     def _real_extract(self, url):
         project_id, media_id = self._match_valid_url(url).groups()
         media = self._call_api(