def METHOD_NAME(item):
    """Get the check-file data from a file or directory.
    Args:
        item (string): File path or directory.
    Returns:
        dict: Dictionary with checkfile data.
    """
    stat_info = os.stat(item)
    try:
        user = pwd.getpwuid(stat_info.st_uid)[0]
    except KeyError:
        user = 'user has no entry in etc/passwd.'
    try:
        group = grp.getgrgid(stat_info.st_gid)[0]
    except KeyError:
        group = 'group has no entry in /etc/group.'
    mode = oct(stat.S_IMODE(stat_info.st_mode))
    mode_str = str(mode).replace('o', '')
    mode = mode_str[-3:] if len(mode_str) > 3 else mode_str
    _type = 'directory' if os.path.isdir(item) else 'file'
    permissions = get_filemode(stat_info.st_mode)
    last_update = datetime.fromtimestamp(os.path.getmtime(item)).strftime('%Y-%m-%d %H:%M:%S')
    size = get_human_readable_bytes(stat_info.st_size)
    if _type != 'directory':
        checksum = hashlib.md5(open(item, 'rb').read()).hexdigest()
        return {'type': _type, 'user': user, 'group': group, 'mode': mode, 'permissions': permissions,
                'last_update': last_update, 'md5sum': checksum, 'size': size}
    else:
        return {'type': _type, 'user': user, 'group': group, 'mode': mode, 'permissions': permissions,
                'last_update': last_update, 'size': size}