def solve_dabblet(): session_id = request.get_cookie('session_id') #TODO: decorator-ify session session = get_session(session_id) response.set_cookie('session_id', session['id']) dabblet_id = int(request.POST['dabblet_id']) choice_id = int(request.POST['choice_id']) dabblet = Dabblet.get(id=dabblet_id) if choice_id < 0: choice = None else: choice = DabChoice.get(id=choice_id) sol = DabSolution(dabblet=dabblet, choice=choice, solver_ip=request.get('REMOTE_ADDR'), solver_index=session.get('cur_index', 0), date_solved=datetime.now()) sol.save() # replace? view_count = DabSolution.select().count() pass_count = DabSolution.select().where(choice_id=None).count() return { "view_count": view_count, "solution_count": view_count-pass_count }
def get_dabblet(): dab_id = request.GET.get('id') if dab_id: ret = Dabblet.get(id=int(dab_id)) else: ret = Dabblet.select().order_by('priority').limit('1').get() return ret.jsondict
def next_dabblet(): session_id = request.get_cookie('session_id') session = get_session(session_id) response.set_cookie('session_id', session['id']) cur_index = session.get('cur_index', 0) cur_id = session['seq'][cur_index] session['cur_index'] = cur_index + 1 return { 'cur_index': cur_index, 'total': len(session['seq']), 'dabblet': Dabblet.get(id=cur_id).jsondict }