Commit 6f466bcb authored by Vitaly Lipatov's avatar Vitaly Lipatov

Sort and deduplicate all export outputs

- _flatten: sorted output for consistent ordering - JSON lists: sorted(set()) per list - Ensures no duplicates in text, mikrotik, and json formats Co-Authored-By: 's avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
parent 1bf8a41f
......@@ -1533,7 +1533,7 @@ class RouteHandler(http.server.BaseHTTPRequestHandler):
if ip not in seen:
seen.add(ip)
out.append(ip)
return out
return sorted(out)
if fmt == "mikrotik" and proto == "all":
# Separate IPv4 and IPv6 blocks
......@@ -1566,8 +1566,8 @@ class RouteHandler(http.server.BaseHTTPRequestHandler):
else:
result["lists"] = {}
for key, ips in sorted(collected.items()):
result["lists"][key] = ips
result["total"] = sum(len(v) for v in collected.values())
result["lists"][key] = sorted(set(ips))
result["total"] = sum(len(v) for v in result["lists"].values())
self.send_json(result)
elif fmt == "mikrotik":
body = format_mikrotik(all_ips, mikrotik_list, ipv6=is_ipv6)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment