INNER CODE UNIT · Python
_dedupe_preserve_order
OpenOSINT/OpenOSINT · actors/domain-recon/src/main.py:40
def _dedupe_preserve_order(items: list[str]) -> list[str]:
seen: set[str] = set()
out: list[str] = []
for item in items:
key = item.strip().lower().rstrip(".")
if not key or key in seen:
continue
seen.add(key)
out.append(key)
return out
def validate_domains(raw: list) -> tuple[list[str], list[str]]:
"""Dedupe and split raw input into (valid, rejected) domains."""
deduped = _dedupe_preserve_order([str(d) for d in raw])
valid, rejected = [], []
for domain in deduped:
if _DOMAIN_RE.match(domain):