def compute_profile_updates(local_profiles, remote_profiles):
    """
    Compare a local set of profiles with a remote set.
    Return a list of profiles to add, and a list of profiles
    that have been updated.
    """
    # Note: no profile will ever be removed, I guess we don't care
    new = list()
    updated = list()
    for remote_profile in remote_profiles.values():
        if remote_profile.name in local_profiles:
            local_profile = local_profiles.get(remote_profile.name)
            if local_profile != remote_profile:
                updated.append(remote_profile)
        else:
            new.append(remote_profile)
    return new, updated