

def _perform_correction(self, object_id, user_id, next_vote, args):
    prev_vote = (ObjectSubjectsManager(**args).score(object_id=object_id, user_id=user_id) or 0)
    correction = (next_vote - prev_vote)
    omanager = ObjectsManager(**args)
    omanager.incrby(object_id=object_id, delta=correction)
    amount = omanager.score(object_id=object_id)
    if (amount == 0):
        omanager.remove(object_id=object_id)

dataset/ETHPy150Open BuongiornoMIP/Reding/reding/resources.py VoteSummaryResource._perform_correction/original