예제 #1
0
def obtener_resultados_por_grupo(request, SoloJornadaActual):
    grupo=Grupo.get_by_id(request.grupoKey) 
    resultados = ResultadoGrupo()
    _match_res=[]
    if grupo!=None:
        jornadas=[]
        if SoloJornadaActual:
            jornadas=Jornada.query(Jornada.calendario==grupo.calendario.id(), Jornada.abierto==False).order(Jornada.Numero)
            if jornadas.__len__()>0:
                jornadas=[jornadas[-1:]] # CREO UNA NUEVA LISTA SOLO CON LA JORNADA ACTUAL (LA ULTIMA CERRADA)
        else:
            jornadas=Jornada.query(Jornada.calendario==grupo.calendario.id()).order(Jornada.Numero)
        for j in jornadas:
            partidos=Partido.query(Partido.jornada==j.key)
            for usr in grupo.usuarios:
                resultado = ResultadoGrupoJornada()
                resultado.jornada=str( j.Numero)
                resultado.nombre=Usuario.get_by_id(usr.key.id()).Nombre
                resultado.usuario=usr.key.id()
                for p in partidos:
                    res = ResultadoQuiniela.query(ResultadoQuiniela.partido == p.key, usuario == usr, ResultadoQuiniela.grupo == grupo.key)
                    for r in res:
                        if r.acierto:
                            resultado.aciertos = resultado.aciertos+1
                _match_res.append(resultado)
        resultados.nombre=grupo.Nombre
        resultados.resultados=_match_res
    return resultados
예제 #2
0
def grabar(request, todos_los_grupos):
    grupo=Grupo.get_by_id(request.grupo)
    calendario=Calendario.get_by_id(grupo.calendario.id())
    respuesta=BooleanMessage()
    if calendario!=None:
        usuario=Usuario.get_by_id(request.correo)
        if usuario!=None:
            if todos_los_grupos:
                grupos=Grupo.query(Grupo.usuarios == request.correo)
            else:
                grupos=[]
                grupos.append(grupo)
            for grupo in grupos:
                for match in request.resultados:
                    partido=Partido.get_by_id(match.partido)
                    if partido!=None:
                        _key=partido.Local.id()+"vs"+partido.Visitante.id()+calendario.key.id()
                        res=ResultadoQuiniela.get_or_insert(_key)
                        res.usuario=usuario.key
                        res.partido=partido.key
                        res.resultado=match.resultado
                        res.grupo=grupo.key
                        res.put()
                else:
                    respuesta.error=True
                    respuesta.mensaje="No esta registrado el grupo "+request.grupo
    else:
        respuesta.error=True
        respuesta.mensaje="No existe el calendario"
    return respuesta
예제 #3
0
def es_acierto(usuario,partido, golesLocal, golesVisitante):
    usuario=Usuario.get_by_id(usuario)
    respuesta=False
    _resultado_oficial=calculoResultado(golesLocal, golesVisitante)
    if usuario!=None:
        match=Partido.get_by_id(partido.key.id())
        if match!=None:
            res=ResultadoQuiniela.query(ResultadoQuiniela.partido == match.key, ResultadoQuiniela.usuario == usuario.key)
            res=res.get()
            if res!=None:
                if res.resultado!="NO_ESPECIFICADO":
                   acierto = res.resultado==_resultado_oficial
                   if res.acierto==None:
                        res.acierto=acierto
                        res.put()
    return respuesta #715 38 29