[exception] improve AuthRequired messages
This commit is contained in:
@@ -100,12 +100,17 @@ class AuthorizationError(ExtractionError):
|
|||||||
class AuthRequired(AuthorizationError):
|
class AuthRequired(AuthorizationError):
|
||||||
default = "Account credentials required"
|
default = "Account credentials required"
|
||||||
|
|
||||||
def __init__(self, required=None, message=None):
|
def __init__(self, auth=None, resource="resource", message=None):
|
||||||
if required and not message:
|
if auth:
|
||||||
if isinstance(required, str):
|
if not isinstance(auth, str):
|
||||||
message = f"{required} required"
|
auth = " or ".join(auth)
|
||||||
|
if " " not in resource:
|
||||||
|
resource = "this " + resource
|
||||||
|
if message is None:
|
||||||
|
message = (f"{auth} needed to access {resource}")
|
||||||
else:
|
else:
|
||||||
message = f"{' or '.join(required)} required"
|
message = (f"{auth} needed to access {resource} "
|
||||||
|
f"('{message}')")
|
||||||
AuthorizationError.__init__(self, message)
|
AuthorizationError.__init__(self, message)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ class CivitaiExtractor(Extractor):
|
|||||||
if "Authorization" not in self.api.headers and \
|
if "Authorization" not in self.api.headers and \
|
||||||
not self.cookies.get(
|
not self.cookies.get(
|
||||||
"__Secure-civitai-token", domain=".civitai.com"):
|
"__Secure-civitai-token", domain=".civitai.com"):
|
||||||
raise exception.AuthRequired(("'api-key'", "cookies"))
|
raise exception.AuthRequired(("api-key", "authenticated cookies"))
|
||||||
|
|
||||||
def _parse_query(self, value):
|
def _parse_query(self, value):
|
||||||
return text.parse_query_list(
|
return text.parse_query_list(
|
||||||
|
|||||||
@@ -318,7 +318,9 @@ class FacebookExtractor(Extractor):
|
|||||||
|
|
||||||
if ('"props":{"title":"This content isn\'t available right now"' in
|
if ('"props":{"title":"This content isn\'t available right now"' in
|
||||||
profile_photos_page):
|
profile_photos_page):
|
||||||
raise exception.AuthRequired("cookies")
|
raise exception.AuthRequired(
|
||||||
|
"authenticated cookies", "profile",
|
||||||
|
"This content isn't available right now")
|
||||||
|
|
||||||
set_id = self._extract_profile_set_id(profile_photos_page)
|
set_id = self._extract_profile_set_id(profile_photos_page)
|
||||||
avatar_page_url = text.extr(
|
avatar_page_url = text.extr(
|
||||||
|
|||||||
@@ -341,7 +341,8 @@ class IwaraAPI():
|
|||||||
|
|
||||||
def favorites(self, type):
|
def favorites(self, type):
|
||||||
if not self.username:
|
if not self.username:
|
||||||
raise exception.AuthRequired("'username' & 'password'")
|
raise exception.AuthRequired(
|
||||||
|
"username & password", "your favorites")
|
||||||
endpoint = f"/favorites/{type}s"
|
endpoint = f"/favorites/{type}s"
|
||||||
return self._pagination(endpoint)
|
return self._pagination(endpoint)
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class MadokamiMangaExtractor(MadokamiExtractor):
|
|||||||
def items(self):
|
def items(self):
|
||||||
username, password = self._get_auth_info()
|
username, password = self._get_auth_info()
|
||||||
if not username:
|
if not username:
|
||||||
raise exception.AuthRequired("'username' & 'password'")
|
raise exception.AuthRequired("username & password")
|
||||||
self.session.auth = util.HTTPBasicAuth(username, password)
|
self.session.auth = util.HTTPBasicAuth(username, password)
|
||||||
|
|
||||||
url = f"{self.root}/Manga/{self.groups[0]}"
|
url = f"{self.root}/Manga/{self.groups[0]}"
|
||||||
|
|||||||
Reference in New Issue
Block a user