def _handle_voted_field(form_value, cc_content, api_content, request, context):
 signal = (thread_voted if (cc_content.type == 'thread') else comment_voted)
 signal.send(sender=None, user=context['request'].user, post=cc_content)
 if form_value:
  context['cc_requester'].vote(cc_content, 'up')
  api_content['vote_count'] += 1
 else:
  context['cc_requester'].unvote(cc_content)
  api_content['vote_count'] -= 1
 track_voted_event(request, context['course'], cc_content, vote_value='up', undo_vote=(False if form_value else True))

def _handle_voted_field ( form_value , cc_content , api_content , request , context ) : signal = ( thread_voted if ( cc_content . type == 'thread' ) else comment_voted ) signal . send ( sender = None , user = context [ 'request' ] . user , post = cc_content ) if form_value : context [ 'cc_requester' ] . vote ( cc_content , 'up' ) api_content [ 'vote_count' ] += 1 else : context [ 'cc_requester' ] . unvote ( cc_content ) api_content [ 'vote_count' ] -= 1 track_voted_event ( request , context [ 'course' ] , cc_content , vote_value = 'up' , undo_vote = ( False if form_value else True ) )
vote or undo vote on thread/comment .