simplify _raise_login_error

This commit is contained in:
bashonly 2025-04-28 22:38:30 +00:00 committed by GitHub
parent 9a7cd32c6a
commit a73436ec94
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -45,8 +45,8 @@ class NiconicoBaseIE(InfoExtractor):
def is_logged_in(self):
return bool(self._get_cookies('https://www.nicovideo.jp').get('user_session'))
def _raise_login_error(self, error, default, expected=True):
raise ExtractorError(f'Unable to login: {error or default}', expected=expected)
def _raise_login_error(self, message, expected=True):
raise ExtractorError(f'Unable to login: {message}', expected=expected)
def _perform_login(self, username, password):
if self.is_logged_in:
@ -69,7 +69,7 @@ class NiconicoBaseIE(InfoExtractor):
elif err_msg := traverse_obj(webpage, (
{find_element(cls='notice error')}, {find_element(cls='notice__text')}, {clean_html},
)):
self._raise_login_error(err_msg, 'Invalid username or password')
self._raise_login_error(err_msg or 'Invalid username or password')
elif 'oneTimePw' in webpage:
post_url = self._search_regex(
r'<form[^>]+action=(["\'])(?P<url>.+?)\1', webpage, 'post url', group='url')
@ -82,15 +82,15 @@ class NiconicoBaseIE(InfoExtractor):
}))
if 'error-code' in parse_qs(urlh.url):
err_msg = traverse_obj(mfa, ({find_element(cls='pageMainMsg')}, {clean_html}))
self._raise_login_error(err_msg, 'MFA session expired')
self._raise_login_error(err_msg or 'MFA session expired')
elif 'formError' in mfa:
err_msg = traverse_obj(mfa, (
{find_element(cls='formError')}, {find_element(tag='div')}, {clean_html}))
self._raise_login_error(err_msg, 'MFA challenge failed')
self._raise_login_error(err_msg or 'MFA challenge failed')
elif self.is_logged_in:
return
self._raise_login_error(None, 'Unexpected login error', expected=False)
self._raise_login_error('Unexpected login error', expected=False)
class NiconicoIE(NiconicoBaseIE):