def tidy_fn(fn):
    """
    Cleans up a string to be used as a valid file name

    Args:
        fn (str): file name to be cleansed

    Returns:
        tidied_fn (str): tidied file name
    """
    fn = ''.join(x for x in fn if (x.isalnum() or x in "[]()._- "))
    return fn.lower().replace(' ', '_').replace(':', '')