mirror of
https://github.com/SantaSpeen/anixart.git
synced 2026-04-20 23:30:35 +00:00
[+] По дефолту теперь AnixartAccountGuest
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import requests
|
||||
|
||||
from .__meta__ import __version__, __build__
|
||||
from .auth import AnixartAccount
|
||||
from .auth import AnixartAccount, AnixartAccountGuest
|
||||
from .enums import AnixartApiErrors
|
||||
from .endpoints import API_URL
|
||||
from .exceptions import AnixartAPIRequestError, AnixartAPIError
|
||||
@@ -11,7 +11,9 @@ from .exceptions import AnixartInitError
|
||||
|
||||
class AnixartAPI:
|
||||
|
||||
def __init__(self, account: AnixartAccount):
|
||||
def __init__(self, account: AnixartAccount = None):
|
||||
if account is None:
|
||||
account = AnixartAccountGuest()
|
||||
if not isinstance(account, AnixartAccount):
|
||||
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__})'
|
||||
}
|
||||
|
||||
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
|
||||
def account(self):
|
||||
return self.__account
|
||||
@@ -32,11 +47,11 @@ class AnixartAPI:
|
||||
if res.status_code != 200:
|
||||
e = AnixartAPIRequestError("Bad Request: Invalid request parameters.")
|
||||
e.message = (
|
||||
f"Bad Request: Invalid request parameters."
|
||||
f"Request: {res.request.method} {res.url}"
|
||||
f"Status code: {res.status_code}"
|
||||
f"Response: {res.text}"
|
||||
f"Client headers: {self._session.headers}"
|
||||
f"Bad Request: Invalid request parameters.\n"
|
||||
f"Request: {res.request.method} {res.url}\n"
|
||||
f"Status code: {res.status_code}\n"
|
||||
f"Response: {res.text}\n"
|
||||
f"Client headers: {self._session.headers}\n"
|
||||
f"Client payload: {res.request.body}"
|
||||
)
|
||||
e.code = 400
|
||||
@@ -46,13 +61,14 @@ class AnixartAPI:
|
||||
except ValueError:
|
||||
raise AnixartAPIError("Failed to parse JSON response")
|
||||
|
||||
print(response)
|
||||
if response['code'] != 0:
|
||||
code = response['code']
|
||||
if code in AnixartApiErrors:
|
||||
e = AnixartAPIError(f"AnixartAPI send error. message={AnixartApiErrors[code]}")
|
||||
e.message = AnixartApiErrors[code]
|
||||
e = AnixartAPIError(f"AnixartAPI send error: {AnixartApiErrors(code).name}")
|
||||
e.message = AnixartApiErrors(code).name
|
||||
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']
|
||||
raise e
|
||||
|
||||
@@ -73,8 +89,8 @@ class AnixartAPI:
|
||||
url += "?token=" + token
|
||||
kwargs = {"url": url}
|
||||
if is_json:
|
||||
self._session.headers.update({"Content-Type": "application/json; charset=UTF-8"})
|
||||
self._session.headers.update({"Content-Length": str(len(str(payload)))})
|
||||
self._session.headers["Content-Type"] = "application/json; charset=UTF-8"
|
||||
self._session.headers["Content-Length"] = str(len(payload))
|
||||
kwargs.update({"json": payload})
|
||||
else:
|
||||
kwargs.update({"data": payload})
|
||||
@@ -94,7 +110,6 @@ class AnixartAPI:
|
||||
if token is not None:
|
||||
payload.update({"token": token})
|
||||
res = self._session.get(API_URL + method, params=payload)
|
||||
|
||||
return self.__parse_response(res)
|
||||
|
||||
def execute(self, http_method, endpoint, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user