feat: add/connect by record or str

This commit is contained in:
aclist committed 2026-03-01 00:16:43 +09:00
1 parent 2fa51c80f4
commit e568814a11
6 files changed
+63 -32

No files matched your search

+20 -5
View File
@@ -471,12 +471,27 @@ def query_by_id(addr: str, key: str) -> Optional[dict]:
def query_by_ip(addr: str) -> Optional[dict]:
record = short_ip_to_record(addr)
return query_by_record(record)
def query_by_record(record: Record) -> Optional[dict]:
try:
record = addr.split(":")
# TODO: create a Record object
ip, qport = record[0], record[1]
res = query_direct(ip, int(qport))
return query_direct(record.ip, record.qport)
except Exception as e:
logger.critical(e)
return None
return res
def short_ip_to_record(addr: str) -> Optional[Record]:
r = addr.split(":")
if len(r) != 2:
return None
return Record(r[0], 0, int(r[1]))
def fqip_to_record(addr: str) -> Optional[Record]:
r = addr.split(":")
if len(r) != 3:
return None
return Record(r[0], int(r[1]), int(r[2]))