mirror of
https://github.com/aclist/dztui.git
synced 2026-11-03 16:42:13 +01:00
feat: add ConnectionManager
This commit is contained in:
1 parent
e56b89fd64
commit
6bbe0d6882
9 files changed
+159
-101
No files matched your search
@@ -12,6 +12,7 @@ import typing # noqa
|
||||
from dataclasses import dataclass
|
||||
from typing import Union
|
||||
|
||||
from dzgui.api.bm import map_id_to_record
|
||||
from dzgui.const.constants import REQUEST_TIMEOUT
|
||||
from dzgui.const.endpoints import STEAM_SERVERS
|
||||
from dzgui.util import strings
|
||||
@@ -451,3 +452,27 @@ def get_rules(ip: str, qport: int) -> list[int]:
|
||||
except Exception as e:
|
||||
logger.critical(e)
|
||||
return []
|
||||
|
||||
|
||||
def response_to_fq_ip(res: dict) -> str:
|
||||
ip = res["addr"].split(":")[0]
|
||||
gameport = res["gameport"]
|
||||
qport = res["addr"].split(":")[1]
|
||||
return f"{ip}:{gameport}:{qport}"
|
||||
|
||||
|
||||
def query_id_or_ip(addr: str) -> None:
|
||||
# NOTE: Battlemetrics
|
||||
if addr.isdigit():
|
||||
try:
|
||||
config = self.controller.get_prefs().paths.config
|
||||
resolved = map_id_to_record(config, addr)
|
||||
res = query_direct(resolved.ip, resolved.qport)
|
||||
except Exception as e:
|
||||
logger.critical(e)
|
||||
return None
|
||||
else:
|
||||
record = addr.split(":")
|
||||
ip, qport = record[0], record[1]
|
||||
res = query_direct(ip, int(qport))
|
||||
return res
|
||||
Reference in new issue
Block a user