def post(self): game_key = self.request.get('g') if game_key: game = Game.get(game_key) if game: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users_by_game = UsersInGame.all() users_by_game.filter("game =", game) users_by_game.filter("user !=", user.key()) results = users_by_game.fetch(30) messageRaw = { "type": "finish", "content": { "fin": True, "word": game.palabra.palabra, } } message = json.dumps(messageRaw) for r in results: channel.send_message(str(r.key()), message)
def post(self): template_values = {} self.sess = session.Session('enginesession') userCtrl = UserDB() users = userCtrl.getUsersQuery(self.request.get('user'),self.request.get('pass')) if users.count() == 1: expires = 7200 if self.sess.load(): self.sess.store('', 0) self.sess.store(str(users.get().key()), expires) self.redirect('/') else: # Extraemos el usuario de la sesion if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user template_values['errorMsg'] = { "title": "Ocurrió un error al intenficar al usuario.", "text": "No existe el usuario o la contraseña no es correcta." } path = os.path.join(os.path.dirname(__file__), 'login.html') self.response.out.write(template.render(path, template_values))
def post(self): game_key = self.request.get('g') if game_key: game = Game.get(game_key) if game: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) if user.key() == game.dibujante.key(): users_by_game = UsersInGame.all() users_by_game.filter("game =", game) users_by_game.filter("user !=", user.key()) results = users_by_game.fetch(30) messageRaw = { "type": "draw", "content": { "data": cgi.escape(self.request.get('d')) }, "drawer": str(game.dibujante.key()) } message = json.dumps(messageRaw) for r in results: channel.send_message(str(r.key()), message)
def post(self): game_key = self.request.get('g') if game_key: game = Game.get(game_key) if game: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users_by_game = UsersInGame.all() users_by_game.filter("game =", game) results = users_by_game.fetch(30) messageRaw = None if game.palabra.palabra.lower() == cgi.escape( self.request.get('d')).lower(): if user.key() != game.dibujante.key(): ptosUser = UsersInGameDB().scoreUp(user, 30) ptosDib = UsersInGameDB().scoreUp(game.dibujante, 20) messageRaw = { "type": "winner", "content": { "userKey": str(user.key()), "userDibKey": str(game.dibujante.key()), "user": user.nick, "word": game.palabra.palabra, "ptosUser": ptosUser, "ptosDib": ptosDib, } } else: messageRaw = { "type": "chat", "content": { "userKey": str(user.key()), "messaje": "#########", "user": user.nick } } else: messageRaw = { "type": "chat", "content": { "messaje": cgi.escape(self.request.get('d')), "user": user.nick } } message = json.dumps(messageRaw) for r in results: channel.send_message(str(r.key()), message)
def get(self): user = UserDB(); # user.AddUser("neo", "gato", "*****@*****.**") r = user.getUserByNick(self.request.get('nick')) # /?nick= if (r): self.response.out.write(r[0].nick + "<br>"); self.response.out.write(r[0].password + "<br>"); self.response.out.write(r[0].email + "<br>"); else: self.response.out.write("No se encontraron usuarios con ese nick");
def post(self): game_key = self.request.get('g') if game_key: game = Game.get(game_key) if game: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users_by_game = UsersInGame.all() users_by_game.filter("game =", game) results = users_by_game.fetch(30) messageRaw = None if game.palabra.palabra.lower() == cgi.escape(self.request.get('d')).lower(): if user.key() != game.dibujante.key(): ptosUser = UsersInGameDB().scoreUp(user, 30) ptosDib = UsersInGameDB().scoreUp(game.dibujante, 20) messageRaw = { "type": "winner", "content": { "userKey": str(user.key()), "userDibKey": str(game.dibujante.key()), "user": user.nick, "word": game.palabra.palabra, "ptosUser": ptosUser, "ptosDib": ptosDib, } } else: messageRaw = { "type": "chat", "content": { "userKey": str(user.key()), "messaje": "#########", "user": user.nick } } else: messageRaw = { "type": "chat", "content": { "messaje": cgi.escape(self.request.get('d')), "user": user.nick } } message = json.dumps(messageRaw) for r in results: channel.send_message(str(r.key()), message)
def get(self): user = UserDB() # user.AddUser("neo", "gato", "*****@*****.**") r = user.getUserByNick(self.request.get('nick')) # /?nick= if (r): self.response.out.write(r[0].nick + "<br>") self.response.out.write(r[0].password + "<br>") self.response.out.write(r[0].email + "<br>") else: self.response.out.write("No se encontraron usuarios con ese nick")
def post(self): template_values = {} self.sess = session.Session('enginesession') if self.sess.load(): userSesion = UserDB().getUserByKey(self.sess.user) mensaje = MensajesDB() mensaje.Send(userSesion.nick, cgi.escape(self.request.get('receptor')), cgi.escape(self.request.get('texto'))) self.redirect('/perfil');
def get(self): self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) self.response.out.write("Nombre de usuario: " + user.nick) self.response.out.write("<br/> E-mail: " + user.email) else: self.response.out.write("No login")
def get(self): # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) l = LogrosConseguidosDB() l.NuevoLogroConseguido( 'ag9kZXZ-aXMxMnByb2plY3RyDAsSBkxvZ3JvcxgODA', user)
def get(self): # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) m = Mensaje.all() m.filter("receptor =", user.nick) m.filter("visto =", False) res = m.count() self.response.out.write(res)
def get(self): template_values = {} user = None userProfile = None listaPartidas = None listaAmigos = None listaPeticiones = None listaUsers = None listaMensajes = None isAmigo = False; self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user userProfile = user listaAmigos = AmigosDB().ObtenerAmigos(userProfile) listaPeticiones = AmigosDB().ObtenerPeticiones(userProfile) listaUsers = UserDB().getAll() listaMensajes = MensajesDB().Get() if self.request.get('user'): if self.request.get('amistad'): amigoObjetivo = UserDB().getUserByNick(cgi.escape(self.request.get('user'))) AmigosDB().PedirAmistad(amigoObjetivo, userProfile) self.redirect('/perfil') if self.request.get('aceptar'): amigo = UserDB().getUserByNick(cgi.escape(self.request.get('aceptar'))) AmigosDB().AceptarAmistad(user, amigo) self.redirect('/perfil') if self.request.get('denegar'): amigo = UserDB().getUserByNick(cgi.escape(self.request.get('denegar'))) AmigosDB().DenegarAmistad(user, amigo) self.redirect('/perfil') if self.request.get('eliminar'): amigo = UserDB().getUserByNick(cgi.escape(self.request.get('eliminar'))) AmigosDB().EliminarAmistad(user, amigo) self.redirect('/perfil') if self.request.get('user'): userProfile = UserDB().getUserByNick(cgi.escape(self.request.get('user'))) if self.sess.load(): isAmigo = AmigosDB().isAmigo(user, self.request.get('user')) listaPartidas = PartidasJugadasDB().ObtenerLista(userProfile) if userProfile: template_values['userProfile'] = userProfile template_values['listaPartidas'] = listaPartidas template_values['listaAmigos'] = listaAmigos template_values['listaPeticiones'] = listaPeticiones template_values['isAmigo'] = isAmigo template_values['listaUsers'] = listaUsers template_values['listaMensajes'] = listaMensajes path = os.path.join(os.path.dirname(__file__), 'perfil.html') self.response.out.write(template.render(path, template_values)) else: self.redirect('/')
def get(self): template_values = {} # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user self.redirect('/') path = os.path.join(os.path.dirname(__file__), 'registro.html') self.response.out.write(template.render(path, template_values))
def get(self): self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) if user.idSala!="None": numUsers = UserDB().getUsersBySala(user.idSala) res = numUsers.count() #Si no queda nadie en la sala la eliminamos if res == 1: SalasDB().deleteSala(user.idSala) GameDB().deleteGame(user.idSala) user2 = UserDB().getUserByNick(user.nick) UsersInGameDB().deleteUserInGame(user2) user.idSala="None" user.put() self.sess.store('', 0) self.redirect('/')
def post(self): self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) if self.request.get('nombre'): #!="" and SalasDB().getSalaByAutor(user.nick)=="": partyPass=None tipo=None puntos = 0 numPlayers = 0 #Creamos una nueva sala salas=SalasDB() nombre=self.request.get('nombre') autor=user.nick if self.request.get('password'): partyPass = self.request.get('password') if self.request.get('tipo') == "Puntos": tipo = "Puntos" puntos = int(self.request.get('puntos')) else: tipo="Rondas" tematica = self.request.get('tema') numPlayers = self.request.get('players') salas.AddSala(nombre, autor, tipo, puntos, partyPass, tematica, numPlayers) #Insertamos al usuario que creo la sala en esta miSala=SalasDB().getSalaByAutor(user.nick) user.idSala=miSala[0].idSala user.put() #Creamos el juego game = GameDB() miJuego = game.AddGame(user.idSala, user) #Metemos al usuario en el juego userGame = UsersInGameDB() userGame.AddUserInGame(user, miJuego) #Redireccionamos al usuario self.redirect("/salas?p=1") else: self.redirect("/salas?p=1") else: self.redirect("/salas?p=1")
def get(self): # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) keyMsg = self.request.get('keymsg') m = Mensaje.get(keyMsg) if m.receptor == user.nick and m.visto == False: m.visto = True m.put() self.response.out.write("ok")
def post(self): userCtrl = UserDB() user = userCtrl.getUserByNick(cgi.escape(self.request.get('user'))) error = False; errorMsg = ""; if(self.request.get('user') == ""): error = True errorMsg += "El campo usuario no puede estar vacio." else: if(user): error = True errorMsg += "El nombre de usuario ya existe." else: contra = self.request.get('contra') contra2 = self.request.get('contra2') if(contra == "" or contra2 == ""): error = True errorMsg += "Los campos de contraseña no pueden estar vacios." else: if(contra != contra2): error = True errorMsg += "Los campos de contraseña no son iguales." else: mail = self.request.get('mail') if(mail == ""): error = True errorMsg += "El campo de email no puede estar vacio." else: mail = userCtrl.getUserByMail(cgi.escape(self.request.get('mail'))) if(mail): error = True errorMsg += "La direccion de correo ya esta siendo utilizada por otro usuario." if error == True: template_values = {} # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user template_values['errorMsg'] = { "title": "Ocurrió un error al completar el registro.", "text": errorMsg } path = os.path.join(os.path.dirname(__file__), 'registro.html') self.response.out.write(template.render(path, template_values)) else: keyUser = userCtrl.AddUser(cgi.escape(self.request.get('user')), cgi.escape(self.request.get('contra')), cgi.escape(self.request.get('mail'))) l = LogrosConseguidosDB() l.NuevoLogroConseguido('ag9kZXZ-aXMxMnByb2plY3RyDAsSBkxvZ3JvcxgPDA', User.get(keyUser)) self.redirect('/?a=0')
def post(self): template_values = {} # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user # Recogemos la palabra y el tema palabra = self.request.get('palabra') tema = self.request.get('tema') # Recogemos el titular y el cuerpo de la noticia titular = self.request.get('titular') cuerpo = self.request.get('cuerpo') if not palabra and not tema: #Comprobar que no se ha insertado ninguna noticia if not titular and not cuerpo: template_values['errorMsg'] = { "title": "Ocurrió un error al insertar la palabra y/o noticia.", "text": "Se debe introducir o una noticia o una palabra, rellenando todos sus campos." } else: NoticiasDB().AddNoticia(titular, cuerpo) template_values['successMsg'] = { "title": "Noticia añadida.", "text": "La noticia se ha añadido correctamente." } else: if not titular and not cuerpo: #Sólo se inserta la palabra PalabrasDB().AddPalabra(palabra, tema) template_values['successMsg'] = { "title": "Palabra añadida.", "text": "La palabra se ha añadido correctamente." } else: #Se insertan ambos PalabrasDB().AddPalabra(palabra, tema) NoticiasDB().AddNoticia(titular, cuerpo) template_values['successMsg'] = { "title": "Palabra y noticia añadidas.", "text": "La palabra y la noticia se han añadido correctamente." } path = os.path.join(os.path.dirname(__file__), 'administracion.html') self.response.out.write(template.render(path, template_values))
def post(self): game_key = self.request.get('g') if game_key: sala = SalasDB().getSalaById(game_key) if sala: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users = UserDB() user_list = users.getUsersBySala(sala.idSala) messageRaw = { "type": "chat", "content": { "messaje": cgi.escape(self.request.get('d')), "user": user.nick } } message = json.dumps(messageRaw) for r in user_list: channel.send_message(str(r.key()), message);
def get(self): template_values = {} self.sess = session.Session('enginesession') listaNoticias = NoticiasDB().getNoticias() template_values['listaNoticias'] = listaNoticias if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user if self.request.get('a') == "0": template_values['successMsg'] = { "title": "Registro completado.", "text": "¡Bienvenido! Ya puedes identificarte desde el formulario de login y empezar a jugar." } path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, template_values))
def get(self): # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) lController = LogrosConseguidos.all() lController.filter("usuario =", user) lController.filter("mostrado =", False) res = lController.fetch(100) arrayLogros = [] for r in res: datosLogros = { 'name': r.logro.nombre, 'desc': r.logro.descripcion, 'image': r.logro.imagen } arrayLogros.append(datosLogros) r.mostrado = True r.put() message = json.dumps(arrayLogros) self.response.out.write(message)
def get(self): self.sess = session.Session('enginesession') if self.sess.load(): template_values = {} users=UserDB() user = users.getUserByKey(self.sess.user) template_values['user'] = user #Si el usuario le da al boton de salir, eliminamos su asociacion con la sala if self.request.get('e', default_value='0')!='0': #Le decimos al resto de jugadores que se ha ido game_key = user.idSala if game_key: sala = SalasDB().getSalaById(game_key) if sala: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users = UserDB() user_list = users.getUsersBySala(sala.idSala) if UserDB().userExistsInSala(sala.idSala, user.nick): messageRaw = { "type": "salaExit", "content": { "userKey": str(user.key()), "userNick": user.nick } } message = json.dumps(messageRaw) for r in user_list: channel.send_message(str(r.key()), message); #Eliminamos al usuario de la sala user2 = UserDB().getUserByNick(user.nick) UsersInGameDB().deleteUserInGame(user2) numUsers = UserDB().getUsersBySala(user.idSala) res = numUsers.count() #Si no queda nadie en la sala la eliminamos ademas del juego if res == 1: SalasDB().deleteSala(user.idSala) GameDB().deleteGame(user.idSala) #Asignamos none a la sala del usuario user.idSala="None" user.put() #Redirigimos al inicio self.redirect('/') #Comprobamos si la sala existe sala = SalasDB().getSalaById(self.request.get('id')) if sala: #Actualizamos la vista del resto de usuarios game_key = sala.idSala if game_key: sala = SalasDB().getSalaById(game_key) if sala: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) users = UserDB() user_list = users.getUsersBySala(sala.idSala) if not UserDB().userExistsInSala(sala.idSala, user.nick): if user.avatar: messageRaw = { "type": "sala", "content": { "userKey": str(user.key()), "userNick": user.nick, "userAvatar": 1 } } else: messageRaw = { "type": "sala", "content": { "userKey": str(user.key()), "userNick": user.nick, "userAvatar": 0 } } message = json.dumps(messageRaw) for r in user_list: channel.send_message(str(r.key()), message); #Si el usuario aun no esta asociado a las sala lo asociamos if user and user.idSala=="None" and UsersInGameDB().UserExist(user)==False: user.idSala=self.request.get('id') user.put() idSala = self.request.get('id') game = GameDB().getGameBySala(idSala) inGame = UsersInGameDB() inGame.AddUserInGame(user, game) #Guardamos la partida en la lista de partidas miSala = SalasDB().getSalaById(self.request.get('id')) misPuntos = UsersInGameDB().getPuntos(user) PartidasJugadasDB().setPartida(user, miSala.nombre, misPuntos, False) #Cambiamos el estado del usuario UsersInGameDB().changeState(user, "sala") #Obtenemos el id del juego asociado a la sala game = GameDB().getGameBySala(self.request.get('id')) template_values['gamekey']=game.key() #Ponemos la puntuacion parcial del usuario a 0 UsersInGameDB().scoreReset(user) #Listamos los usuarios en la sala user_list=users.getUsersBySala(self.request.get('id')) template_values['user_list']=user_list # Si el usuario identificado esta asignado al juego token = channel.create_channel(str(user.key())) template_values['token'] = token template_values['game_key'] = sala.idSala else: self.redirect('/') path = os.path.join(os.path.dirname(__file__), 'salajuego.html') self.response.out.write(template.render(path, template_values)) else: self.redirect("/salas?p=1")
def get(self): miPag = self.request.get('p', default_value='0') if miPag == '0': self.redirect("/salas?p=1") else: template_values = {} # Extraemos el usuario de la sesion self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) if user: template_values['user'] = user #Si el usuario ya estaba en una sala lo redirigimos a ella if user.idSala!="None": self.redirect("/salajuego?id="+str(user.idSala)) #Extraemos el numero de paginas que tiene el listado de salas numPags=0 if SalasDB().getNumSalas()/8==0: numPags=1 else: numPags=(SalasDB().getNumSalas()/8)+1 salas=SalasDB() if self.request.get('salaText') and self.request.get('param') != "Todas": parametro = self.request.get('param') parametro = parametro.lower() parametro = urllib2.unquote(parametro) textoBuscar = self.request.get('salaText') cadena= urllib2.unquote(textoBuscar) res=salas.ListarBusqueda(parametro, cadena) numPags=1 else: res=salas.ListarSalas() #Listamos las salas que hay por acada pagina res2 =[] i=0 if int(self.request.get('p')) <= numPags: for sala in res: if i>=(int(self.request.get('p'))-1)*8 and i<(int(self.request.get('p')))*8: res = UserDB().getUsersBySala(sala.idSala) sala.players = str(res.count()) res2.append(sala) sala.put() i+=1 else: self.redirect("/salas?p=1") #Listamos los temas de palabras listaT = [] listaTemas = Palabras.all() for tema in listaTemas: if tema.tema not in listaT: listaT.append(tema.tema) template_values['salas_list'] = res2 template_values['temas_list'] = listaT template_values['numSalas']=SalasDB().getNumSalas() template_values['pags']= numPags template_values['pag']=self.request.get('p') template_values['nextPage']=int(self.request.get('p'))+2 template_values['prevPage']=int(self.request.get('p'))-2 template_values['next']=int(self.request.get('p'))+1 template_values['prev']=int(self.request.get('p'))-1 path = os.path.join(os.path.dirname(__file__), 'salas.html') self.response.out.write(template.render(path, template_values))
def post(self): template_values = {} userProfile = None listaPartidas = None listaAmigos = None listaPeticiones = None listaUsers = None listaMensajes = None isAmigo = False; self.sess = session.Session('enginesession') if self.sess.load(): userSesion = UserDB().getUserByKey(self.sess.user) template_values['user'] = userSesion template_values['userProfile'] = userSesion user = UserDB().getUserByNick(self.request.get('user')) userProfile = userSesion listaAmigos = AmigosDB().ObtenerAmigos(userProfile) listaPeticiones = AmigosDB().ObtenerPeticiones(userProfile) listaUsers = UserDB().getAll() listaMensajes = MensajesDB().Get() if user: if user.nick == userSesion.nick: mail = UserDB().getUserByMail(cgi.escape(self.request.get('mail'))) if mail: if mail.email == userSesion.email: #userSesion.nick = self.request.get('user'); userSesion.password = self.request.get('contra'); userSesion.email = self.request.get('mail'); avatar = str(self.request.get('img')) if avatar <> "": userSesion.avatar = db.Blob(avatar) userSesion.put(); # self.redirect('/perfil'); else: template_values['errorMsg'] = { "title": "Ocurrió un error al modificar el usuario.", "text": "La dirección de correo electrónico está siendo utilizada por otro usuario." } #Habr?a que pasar el error, pero se sale de la sesi?n # self.redirect('/perfil'); else: #userSesion.nick = self.request.get('user'); userSesion.password = self.request.get('contra'); userSesion.email = self.request.get('mail'); avatar = str(self.request.get('img')) if avatar <> "": userSesion.avatar = db.Blob(avatar) userSesion.put(); # self.redirect('/perfil'); else: template_values['errorMsg'] = { "title": "Ocurrió un error al modificar el usuario.", "text": "El nick está siendo utilizado por otro usuario." } #Habr?a que pasar el error, pero se sale de la sesi?n # self.redirect('/perfil'); else: usermail = UserDB().getUserByMail(cgi.escape(self.request.get('mail'))) if usermail: if usermail.email == userSesion.email: nick = UserDB().getUserByNick(self.request.get('user')) if nick: if nick.nick == userSesion.nick: #userSesion.nick = self.request.get('user'); userSesion.password = self.request.get('contra'); userSesion.email = self.request.get('mail'); avatar = str(self.request.get('img')) if avatar <> "": userSesion.avatar = db.Blob(avatar) userSesion.put(); #self.redirect('/perfil'); else: template_values['errorMsg'] = { "title": "Ocurrió un error al modificar el usuario.", "text": "El nick está siendo utilizado por otro usuario." } #Habr?a que pasar el error, pero se sale de la sesi?n #self.redirect('/perfil'); else: #userSesion.nick = self.request.get('user'); userSesion.password = self.request.get('contra'); userSesion.email = self.request.get('mail'); avatar = str(self.request.get('img')) if avatar <> "": userSesion.avatar = db.Blob(avatar) userSesion.put(); #self.redirect('/perfil'); else: template_values['errorMsg'] = { "title": "Ocurrió un error al modificar el usuario.", "text": "La dirección de correo electrónico está siendo utilizada por otro usuario." } #Habr?a que pasar el error, pero se sale de la sesi?n # self.redirect('/perfil'); else: #userSesion.nick = self.request.get('user'); userSesion.password = self.request.get('contra'); userSesion.email = self.request.get('mail'); avatar = self.request.str_POST['img'] if avatar <> "": userSesion.avatar = db.Blob(avatar) userSesion.put(); # self.redirect('/perfil'); template_values['userProfile'] = userProfile template_values['listaPartidas'] = listaPartidas template_values['listaAmigos'] = listaAmigos template_values['listaPeticiones'] = listaPeticiones template_values['isAmigo'] = isAmigo template_values['listaUsers'] = listaUsers template_values['listaMensajes'] = listaMensajes path = os.path.join(os.path.dirname(__file__), 'perfil.html') self.response.out.write(template.render(path, template_values))
def post(self): game_key = self.request.get('g') option = self.request.get('d') if game_key: game = Game.get(game_key) if option == "New": GameDB().nuevaPalabra(game) game = Game.get(game_key) else: GameDB().nuevaPalabra(game) game = Game.get(game_key) userAcertado = UserDB().getUserByNick(option) GameDB().cambiaDibujante(userAcertado.idSala, userAcertado) if game: user = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) UsersInGameDB().changeState(user) idSala = GameDB().getSalaByGame(game) if UsersInGameDB().usersPlaying( game) == UserDB().getNumUsersBySala(idSala): users_by_game = UsersInGame.all() users_by_game.filter("game =", game) results = users_by_game.fetch(30) #Comprobamos el tipo de juego fin = False empate = False miSala = SalasDB().getSalaById(idSala) if miSala.tipo == "Puntos": #Comprobamos si algun jugador ha llegado a la puntuacion for r in results: if r.ptos >= miSala.numPuntos: fin = True empate = True else: if miSala.tipo == "Rondas": na = 0 for r in results: if fin == False: if r.user.key() != game.dibujante.key(): messageRaw = { "type": "infoGame", "content": { "drawing": False, "word": len(game.palabra.palabra), "painter": str(game.dibujante.key()) } } else: messageRaw = { "type": "infoGame", "content": { "drawing": True, "word": game.palabra.palabra, "painter": str(game.dibujante.key()) } } else: if r.ptos >= miSala.numPuntos: if empate == False: win = r.user.nick + " ha ganado la partida" else: win = "Empate" messageRaw = { "type": "finPartida", "content": { "Winner": win } } message = json.dumps(messageRaw) channel.send_message(str(r.key()), message)
def get(self): template_values = {} user = None game = None self.sess = session.Session('enginesession') if self.sess.load(): user = UserDB().getUserByKey(self.sess.user) template_values['user'] = user #path = os.path.join(os.path.dirname(__file__), 'juego.html') #self.response.out.write(template.render(path, template_values)) game_key = self.request.get('gamekey') # Si hay usuario identificado if user: # Si tenemos una gamekey if game_key: game = Game.get(game_key) # Si existe un juego con esa gamekey if game: users_by_game = UsersInGame.all() users_by_game.filter("game =", game) usersPlaying = users_by_game.fetch(30) users_by_game.filter("user ="******"El usuario no esta asignado a este juego") else: self.response.out.write("No hay una id de juego asignada") #~ template_values = {'token': token, #~ 'me': user.key(), #~ 'game_key': game_key, #~ 'game_link': game_link, #~ 'initial_message': GameUpdater(game).get_game_message() #~ } #~ path = os.path.join(os.path.dirname(__file__), 'juego.html') #~ self.response.out.write(template.render(path, template_values)) #~ else: #~ self.response.out.write('No such game') #~ #~ else: self.redirect('/login')