mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-12-15 04:35:19 +00:00
[extractor] Add _perform_login function (#2943)
* Adds new functions `_initialize_pre_login` and `_perform_login` as part of the extractor API * Adds `ie.supports_login` to the public API
This commit is contained in:
@@ -38,14 +38,10 @@ class PlayPlusTVIE(InfoExtractor):
|
||||
'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 @@ class PlayPlusTVIE(InfoExtractor):
|
||||
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user