0
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-26 02:55:17 +00:00

[extractor/tubetugraz] Support --twofactor (#6424) (#6427)

Authored by: Ferdi265
Closes #6424
This commit is contained in:
Ferdinand Bachmann 2023-03-04 22:58:16 +01:00 committed by GitHub
parent 46580ced56
commit f44cb4e77b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,17 +21,36 @@ def _perform_login(self, username, password):
if not urlh:
return
urlh = self._request_webpage(
content, urlh = self._download_webpage_handle(
urlh.geturl(), None, fatal=False, headers={'referer': urlh.geturl()},
note='logging in', errnote='unable to log in', data=urlencode_postdata({
note='logging in', errnote='unable to log in',
data=urlencode_postdata({
'lang': 'de',
'_eventId_proceed': '',
'j_username': username,
'j_password': password
}))
if not urlh or urlh.geturl() == 'https://tube.tugraz.at/paella/ui/index.html':
return
if urlh and urlh.geturl() != 'https://tube.tugraz.at/paella/ui/index.html':
if not self._html_search_regex(
r'<p\b[^>]*>(Bitte geben Sie einen OTP-Wert ein:)</p>',
content, 'TFA prompt', default=None):
self.report_warning('unable to login: incorrect password')
return
content, urlh = self._download_webpage_handle(
urlh.geturl(), None, fatal=False, headers={'referer': urlh.geturl()},
note='logging in with TFA', errnote='unable to log in with TFA',
data=urlencode_postdata({
'lang': 'de',
'_eventId_proceed': '',
'j_tokenNumber': self._get_tfa_info(),
}))
if not urlh or urlh.geturl() == 'https://tube.tugraz.at/paella/ui/index.html':
return
self.report_warning('unable to login: incorrect TFA code')
def _extract_episode(self, episode_info):
id = episode_info.get('id')