fix: malformed servers
Some checks failed
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled

This commit is contained in:
aclist 2025-10-16 22:38:52 +09:00
parent eeca71fc25
commit 23fb10f48e
2 changed files with 9 additions and 4 deletions

View File

@ -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"

View File

@ -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")