mirror of
https://github.com/aclist/dztui.git
synced 2026-08-26 17:57:06 +02:00
64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
import logging
|
|
import requests
|
|
|
|
from typing import Union, TYPE_CHECKING
|
|
|
|
from dzgui.const.constants import APPID_DAYZ, APP_NAME, REQUEST_TIMEOUT
|
|
from dzgui.const import endpoints
|
|
|
|
logger = logging.getLogger(APP_NAME)
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
from requests import Response
|
|
|
|
|
|
def test_steam_api(key: str) -> bool:
|
|
appid = APPID_DAYZ
|
|
payload: dict[str, Union[int, str]] = {
|
|
"filter": r"\appid" + rf"\{appid}",
|
|
"limit": 10,
|
|
"key": key,
|
|
}
|
|
try:
|
|
res = requests.get(
|
|
endpoints.STEAM_SERVERS, params=payload, timeout=REQUEST_TIMEOUT
|
|
)
|
|
return is_remote_up(res)
|
|
except Exception as e:
|
|
logger.critical(e)
|
|
# TODO: pass exception text into dialog
|
|
return False
|
|
|
|
|
|
# TODO: consolidate is_remote_up and exception logic into one function
|
|
def test_ipdb() -> bool:
|
|
try:
|
|
res = requests.get(endpoints.DB_IP, timeout=REQUEST_TIMEOUT)
|
|
return is_remote_up(res)
|
|
except Exception as e:
|
|
logger.critical(e)
|
|
return False
|
|
|
|
|
|
def test_bm_api(key: str) -> bool:
|
|
payload: dict[str, str] = {
|
|
"filter[game]": "dayz",
|
|
}
|
|
hdr = {"Authorization": "Bearer " + key}
|
|
try:
|
|
res = requests.get(
|
|
endpoints.BM_SERVERS, params=payload, headers=hdr, timeout=REQUEST_TIMEOUT
|
|
)
|
|
return is_remote_up(res)
|
|
except Exception as e:
|
|
logger.critical(e)
|
|
return False
|
|
|
|
|
|
def is_remote_up(res: "Response") -> bool:
|
|
if res.status_code == 200:
|
|
return True
|
|
else:
|
|
return False
|