# Copyright (C) 2022-2025 Exaloop Inc. def splitext(p: str) -> Tuple[str, str]: """ Split the extension from a pathname. Extension is everything from the last dot to the end, ignoring leading dots. Returns "(root, ext)"; ext may be empty.""" sep = "/" extsep = "." sepIndex = p.rfind(sep) dotIndex = p.rfind(extsep) if dotIndex > sepIndex: # skip all leading dots filenameIndex = sepIndex + 1 while filenameIndex < dotIndex: if p[filenameIndex : filenameIndex + 1] != extsep: return p[:dotIndex], p[dotIndex:] filenameIndex += 1 return p, p[:0]