mirror of
https://github.com/SantaSpeen/anixart.git
synced 2026-10-27 22:40:22 +00:00
[+] По дефолту теперь AnixartAccountGuest
This commit is contained in:
1 parent
c68735df97
commit
577e8dbf2a
1 file changed
+28
-13
+28
-13
@@ -2,7 +2,7 @@
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
from .__meta__ import __version__, __build__
|
from .__meta__ import __version__, __build__
|
||||||
from .auth import AnixartAccount
|
from .auth import AnixartAccount, AnixartAccountGuest
|
||||||
from .enums import AnixartApiErrors
|
from .enums import AnixartApiErrors
|
||||||
from .endpoints import API_URL
|
from .endpoints import API_URL
|
||||||
from .exceptions import AnixartAPIRequestError, AnixartAPIError
|
from .exceptions import AnixartAPIRequestError, AnixartAPIError
|
||||||
@@ -11,7 +11,9 @@ from .exceptions import AnixartInitError
|
|||||||
|
|
||||||
class AnixartAPI:
|
class AnixartAPI:
|
||||||
|
|
||||||
def __init__(self, account: AnixartAccount):
|
def __init__(self, account: AnixartAccount = None):
|
||||||
|
if account is None:
|
||||||
|
account = AnixartAccountGuest()
|
||||||
if not isinstance(account, AnixartAccount):
|
if not isinstance(account, AnixartAccount):
|
||||||
raise AnixartInitError(f'Use class "AnixartAccount" for user. But {type(account)} given.')
|
raise AnixartInitError(f'Use class "AnixartAccount" for user. But {type(account)} given.')
|
||||||
|
|
||||||
@@ -24,6 +26,19 @@ class AnixartAPI:
|
|||||||
'User-Agent': f'AnixartPyAPI/{__version__}-{__build__} (Linux; Android 15; AnixartPyAPI Build/{__build__})'
|
'User-Agent': f'AnixartPyAPI/{__version__}-{__build__} (Linux; Android 15; AnixartPyAPI Build/{__build__})'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.__account._set_api(self)
|
||||||
|
self.__account.login()
|
||||||
|
|
||||||
|
def use_account(self, account: AnixartAccount):
|
||||||
|
if not isinstance(account, AnixartAccount):
|
||||||
|
raise AnixartInitError(f'Use class "AnixartAccount" for user. But {type(account)} given.')
|
||||||
|
self.__account = account
|
||||||
|
self.__token = account.token
|
||||||
|
self._session = account.session
|
||||||
|
self._session.headers = {
|
||||||
|
'User-Agent': f'AnixartPyAPI/{__version__}-{__build__} (Linux; Android 15; AnixartPyAPI Build/{__build__})'
|
||||||
|
}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def account(self):
|
def account(self):
|
||||||
return self.__account
|
return self.__account
|
||||||
@@ -32,11 +47,11 @@ class AnixartAPI:
|
|||||||
if res.status_code != 200:
|
if res.status_code != 200:
|
||||||
e = AnixartAPIRequestError("Bad Request: Invalid request parameters.")
|
e = AnixartAPIRequestError("Bad Request: Invalid request parameters.")
|
||||||
e.message = (
|
e.message = (
|
||||||
f"Bad Request: Invalid request parameters."
|
f"Bad Request: Invalid request parameters.\n"
|
||||||
f"Request: {res.request.method} {res.url}"
|
f"Request: {res.request.method} {res.url}\n"
|
||||||
f"Status code: {res.status_code}"
|
f"Status code: {res.status_code}\n"
|
||||||
f"Response: {res.text}"
|
f"Response: {res.text}\n"
|
||||||
f"Client headers: {self._session.headers}"
|
f"Client headers: {self._session.headers}\n"
|
||||||
f"Client payload: {res.request.body}"
|
f"Client payload: {res.request.body}"
|
||||||
)
|
)
|
||||||
e.code = 400
|
e.code = 400
|
||||||
@@ -46,13 +61,14 @@ class AnixartAPI:
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
raise AnixartAPIError("Failed to parse JSON response")
|
raise AnixartAPIError("Failed to parse JSON response")
|
||||||
|
|
||||||
|
print(response)
|
||||||
if response['code'] != 0:
|
if response['code'] != 0:
|
||||||
code = response['code']
|
code = response['code']
|
||||||
if code in AnixartApiErrors:
|
if code in AnixartApiErrors:
|
||||||
e = AnixartAPIError(f"AnixartAPI send error. message={AnixartApiErrors[code]}")
|
e = AnixartAPIError(f"AnixartAPI send error: {AnixartApiErrors(code).name}")
|
||||||
e.message = AnixartApiErrors[code]
|
e.message = AnixartApiErrors(code).name
|
||||||
else:
|
else:
|
||||||
e = AnixartAPIError(f"AnixartAPI send unknown error. code={response['code']}")
|
e = AnixartAPIError(f"AnixartAPI send unknown error, code: {response['code']}")
|
||||||
e.code = response['code']
|
e.code = response['code']
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
@@ -73,8 +89,8 @@ class AnixartAPI:
|
|||||||
url += "?token=" + token
|
url += "?token=" + token
|
||||||
kwargs = {"url": url}
|
kwargs = {"url": url}
|
||||||
if is_json:
|
if is_json:
|
||||||
self._session.headers.update({"Content-Type": "application/json; charset=UTF-8"})
|
self._session.headers["Content-Type"] = "application/json; charset=UTF-8"
|
||||||
self._session.headers.update({"Content-Length": str(len(str(payload)))})
|
self._session.headers["Content-Length"] = str(len(payload))
|
||||||
kwargs.update({"json": payload})
|
kwargs.update({"json": payload})
|
||||||
else:
|
else:
|
||||||
kwargs.update({"data": payload})
|
kwargs.update({"data": payload})
|
||||||
@@ -94,7 +110,6 @@ class AnixartAPI:
|
|||||||
if token is not None:
|
if token is not None:
|
||||||
payload.update({"token": token})
|
payload.update({"token": token})
|
||||||
res = self._session.get(API_URL + method, params=payload)
|
res = self._session.get(API_URL + method, params=payload)
|
||||||
|
|
||||||
return self.__parse_response(res)
|
return self.__parse_response(res)
|
||||||
|
|
||||||
def execute(self, http_method, endpoint, **kwargs):
|
def execute(self, http_method, endpoint, **kwargs):
|
||||||
|
|||||||
Reference in new issue
Block a user