Recursively removes a file or directory, ignoring any errors that may occur. Should only be used for temporary
    files that can be assumed to be cleaned up at a later point.

    :param path: Path to file or directory to remove.
    :type path: unicode
    :param use_sudo: Use the `sudo` command.
    :type use_sudo: bool
    :param force: Force the removal.
    :type force: bool

def remove_ignore(path, use_sudo=False, force=False):
    """
    Recursively removes a file or directory, ignoring any errors that may occur. Should only be used for temporary
    files that can be assumed to be cleaned up at a later point.

    :param path: Path to file or directory to remove.
    :type path: unicode
    :param use_sudo: Use the `sudo` command.
    :type use_sudo: bool
    :param force: Force the removal.
    :type force: bool
    """
    which = sudo if use_sudo else run
    which(rm(path, recursive=True, force=force), warn_only=True)