update codebase
This commit is contained in:
@@ -3,6 +3,14 @@ from komgapi.errors import KomgaError, LoginError, ResultErrror
|
||||
from typing import Any, Union
|
||||
from limit import limit
|
||||
|
||||
import loguru
|
||||
import sys
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add("logs/komga_api.log", rotation="1 week", retention="1 month")
|
||||
log.add(sys.stdout, level="INFO")
|
||||
|
||||
|
||||
class BaseAPI:
|
||||
def __init__(self, username, password, url, timeout=20, api_version=1) -> None:
|
||||
@@ -39,15 +47,16 @@ class BaseAPI:
|
||||
if params is None:
|
||||
params = {}
|
||||
try:
|
||||
# ic(url, params)
|
||||
response = requests.get(
|
||||
url,
|
||||
auth=(self._username, self._password),
|
||||
params=params,
|
||||
timeout=self.timeout,
|
||||
)
|
||||
response.raise_for_status()
|
||||
if response.status_code != 200:
|
||||
self.getRequest(url, params)
|
||||
# print(response.content)
|
||||
log.debug(f"Response: {response.content}")
|
||||
return response.json()
|
||||
except ConnectionError as e:
|
||||
message = f"Connection Error: {e}"
|
||||
@@ -55,22 +64,37 @@ class BaseAPI:
|
||||
except requests.exceptions.Timeout as e:
|
||||
raise KomgaError(f"Timeout Error: {e}") from e
|
||||
|
||||
def postRequest(self, url, data: Union[dict, None] = None):
|
||||
def postRequest(self, url, data: Union[dict, None] = None, body: dict = None):
|
||||
if data is None:
|
||||
data = {}
|
||||
try:
|
||||
response = requests.post(
|
||||
url,
|
||||
auth=(self._username, self._password),
|
||||
json=data,
|
||||
timeout=self.timeout,
|
||||
)
|
||||
if body is not None:
|
||||
response = requests.post(
|
||||
url,
|
||||
auth=(self._username, self._password),
|
||||
json=body,
|
||||
params=data,
|
||||
timeout=self.timeout,
|
||||
)
|
||||
else:
|
||||
response = requests.post(
|
||||
url,
|
||||
auth=(self._username, self._password),
|
||||
json=data,
|
||||
timeout=self.timeout,
|
||||
params=data,
|
||||
)
|
||||
response.raise_for_status()
|
||||
status_code = response.status_code
|
||||
if status_code != 202:
|
||||
raise ResultErrror(f"Result Error: {response.json()}")
|
||||
if status_code == 202:
|
||||
log.debug(f"Response: {response}")
|
||||
# raise ResultErrror(f"Result Error: {response}")
|
||||
elif status_code == 200:
|
||||
log.debug(f"Response: {response}")
|
||||
return response.json()
|
||||
else:
|
||||
log.debug(f"Response: {response}")
|
||||
raise ResultErrror(f"Result Error: {response.content}")
|
||||
except ConnectionError as e:
|
||||
message = f"Connection Error: {e}"
|
||||
raise KomgaError(message) from e
|
||||
@@ -81,6 +105,7 @@ class BaseAPI:
|
||||
if data is None:
|
||||
data = {}
|
||||
try:
|
||||
print("patching data", data, url)
|
||||
response = requests.patch(
|
||||
url,
|
||||
auth=(self._username, self._password),
|
||||
@@ -88,6 +113,10 @@ class BaseAPI:
|
||||
timeout=self.timeout,
|
||||
)
|
||||
response.raise_for_status()
|
||||
log.debug(
|
||||
f"Response: {response}, {response.status_code}, {response.content}"
|
||||
)
|
||||
print(response.status_code, response.content)
|
||||
if response.status_code != 204:
|
||||
raise ResultErrror(f"Result Error: {response.json()}")
|
||||
except ConnectionError as e:
|
||||
|
||||
Reference in New Issue
Block a user