Exemplo n.º 1
0
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 }
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
             }