diff --git a/dzgui.sh b/dzgui.sh index 2935f8d..9237455 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ sums=( ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" + ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="f03879f088ad074f2ce3c92607c30202" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" diff --git a/helpers/servers.py b/helpers/servers.py index ef26b32..00cd129 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -87,6 +87,7 @@ def parse_json(json: list) -> list: except KeyError: continue + malformed = False for key in [ "map", "gametype", @@ -98,7 +99,11 @@ def parse_json(json: list) -> list: try: row[key] except KeyError: - continue + malformed = True + break + + if malformed is True: + continue try: r = row["gametype"].split(",") @@ -167,7 +172,7 @@ def parse_json(json: list) -> list: return rows -def query_direct(ip: str, qport: int, TIMEOUT=3.0) -> dict | None: +def query_direct(ip: str, qport: int, TIMEOUT: float=3.0) -> dict | None: try: info = a2s.info((ip, qport), TIMEOUT) @@ -440,7 +445,7 @@ def query_bm_api(api_key: str, bm_id: str) -> Record: raise BmAPIError("Failed to query Battlemetrics") -def validate_ip(addr: str): +def validate_ip(addr: str) -> Record: fields = addr.split(":") if len(fields) != 2: raise InvalidIpError("Address must be formatted as IP:Queryport")