def parse_check(check):
    """
    Sort out the properties and types from the original dodgy check.
    :param check: A tuple or list from an individual check from dodgy.
    :return: A dict with key, message, regexps, and condition.
    :rtype: dict
    """
    if len(check) == 3:
        key, msg, regexps = check
        cond = any
    else:
        key, msg, regexps, cond = check
    if not isinstance(regexps, (list, tuple)):
        regexps = [regexps]
    return {'key': key, 'message': msg, 'regexps': regexps, 'condition': cond}
