Source code for rubin_sim.maf.utils.output_utils

__all__ = ("name_sanitize",)


[docs] def name_sanitize(in_string): """ Convert a string to a more file name (and web) friendly format. Parameters ---------- in_string : `str` The input string to be sanitized. Typically these are combinations of metric names and metadata. Returns ------- out_string : `str` The string after removal/replacement of non-friendly characters. """ # Replace <, > and = signs. out_string = in_string.replace(">", "gt").replace("<", "lt").replace("=", "eq") # Remove single-spaces, strip '.'s and ','s out_string = out_string.replace(" ", "_").replace(".", "_").replace(",", "") # and remove / and \ out_string = out_string.replace("/", "_").replace("\\", "_") # and remove parentheses out_string = out_string.replace("(", "").replace(")", "") # Remove ':' and ';" out_string = out_string.replace(":", "_").replace(";", "_") # Replace '%' and # out_string = out_string.replace("%", "_").replace("#", "_") # Remove '__' while "__" in out_string: out_string = out_string.replace("__", "_") return out_string