def prevote(nid): if 'osm_token' not in session: return redirect(url_for('login')) uid = session['osm_uid'] if config.STAGE != 'call' and not isteam(uid): return redirect(url_for('login')) n = Nominee.get(Nominee.id == nid) try: v = Vote.get((Vote.user == uid) & (Vote.nominee == n) & (Vote.preliminary)) v.delete_instance() except Vote.DoesNotExist: if canvote(uid): v = Vote() v.nominee = n v.user = uid v.preliminary = True v.save() return redirect(url_for('edit_nominees'))