Esempio n. 1
0
def add_comments(events):
    melchor = user_id(u'113090457812971237278')
    john = user_id(u'107740629189585787589')
    antonio = user_id(u'117448827855359481250')
    manu = user_id(u'101525104652157188456')
    rand = random.randint

    for i in range(len(events)):
        day = i * 2 + 5
        month = 1 + day / 31
        day = 1 + day % 31
        Comentario(texto=u'¡¡ Madre mia como mola !!',
                   fecha=to_utc(
                       dt(year=2018,
                          month=month,
                          day=day,
                          hour=10 + i / 2,
                          minute=rand(0, 59),
                          second=rand(0, 59))),
                   creador=manu,
                   parent=events[i]).put()

        if (i % 3) == 0:
            Comentario(texto=u'Ostia tu, m\'agrada això, asistiré 😁',
                       fecha=to_utc(
                           dt(year=2018,
                              month=month,
                              day=day,
                              hour=18 + (i % 5),
                              minute=rand(0, 59),
                              second=rand(0, 59))),
                       creador=melchor,
                       parent=events[i]).put()
        elif (i % 3) == 1:
            Comentario(
                texto=
                u'Eh, una pena que no pueda ir, el horario me va mal :( Pero me gustaria ir, tiene buena pinta',
                fecha=to_utc(
                    dt(year=2018,
                       month=month,
                       day=day,
                       hour=12 + (i % 4),
                       minute=rand(0, 59),
                       second=rand(0, 59))),
                creador=john,
                parent=events[i]).put()
        elif (i % 3) == 2:
            Comentario(texto=u'⬆️😁💪🏿',
                       fecha=to_utc(
                           dt(year=2018,
                              month=month,
                              day=day,
                              hour=14 + (i % 7),
                              minute=rand(0, 59),
                              second=rand(0, 59))),
                       creador=antonio,
                       parent=events[i]).put()
Esempio n. 2
0
def crear_comentario(usuario, evento, comentario):
    # type: (Usuario, Evento, {unicode|str:object}) -> Comentario
    """
    :param usuario: Usuario que crea o edita el comentario
    :param evento: Evento al que pertenece el comentario
    :param comentario: comentario que se está creando o comentario que se está modificando
    :return: el Comentario nuevo
    """
    if u'texto' not in comentario or not isinstance(comentario[u'texto'], (str, unicode)) or not comentario[u'texto']:
        raise AgendamlgException.comentario_campos_invalidos()

    otro_comentario = Comentario.query(Comentario.creador == usuario.key, ancestor=evento).fetch()
    if otro_comentario:
        raise AgendamlgException.usuario_ya_ha_comentado(usuario.idGoogle)

    comentario = Comentario(
        parent=evento,
        creador=usuario.key,
        texto=comentario[u'texto'],
        fecha=to_utc()
    )
    if 0 < usuario.tipo < 4:
        comentario.put()
        return comentario
    else:
        raise NotAuthenticatedException.no_autenticado()
Esempio n. 3
0
def info_museo(request, id):
    if request.method == "POST":
        if request.user.is_authenticated():
            usuario = request.user
            try:
                museo = Museo.objects.get(id=id)
            except:
                value = "Museo no disponible"
                value += '<br><a href="/">Volver</a>'
                return HttpResponse(value)

            favorito = request.POST.get("favorito")
            if favorito:
                coleccion = Coleccion()
                coleccion.perfil = Perfil.objects.get(usuario=usuario.username)
                coleccion.museo = museo
                coleccion.save()

            quitar_favorito = request.POST.get("quitar")
            if quitar_favorito:
                perfil = Perfil.objects.get(usuario=usuario.username)
                coleccion = Coleccion.objects.filter(perfil=perfil,museo=museo).delete()

            comentando = request.POST.get('comentando')
            if comentando:
                contenido = request.POST.get('contenido')
                if contenido:
                    comentario = Comentario()
                    comentario.contenido = contenido
                    comentario.museo = museo
                    comentario.save()
                    museo.numComentario = museo.numComentario + 1
                    museo.save()
        return HttpResponseRedirect("/museos/"+str(id))
    else:
        try:
            museo = Museo.objects.get(id=id)
            comentarios = Comentario.objects.filter(museo=museo)
            seleccionado = False
            if request.user.is_authenticated():
                perfil = Perfil.objects.get(usuario=request.user.username)
                coleccion = Coleccion.objects.filter(museo=museo,perfil=perfil)
                if coleccion:
                    seleccionado = True
            context ={
                'museo':museo,
                'comentarios':comentarios,
                'seleccionado': seleccionado
            }
            return render(request, 'museo.html',context)
        except:
            value = "Museo no disponible"
            value += '<br><a href="/">Volver</a>'
            return HttpResponse(value)
Esempio n. 4
0
 def post(self):
     
     nickname = self.request.get('nickname')
     comentario = self.request.get('comentario')
     
     user = Usuario(nombreusuario = nickname, 
                    email = users.GetCurrentUser().email())
     user.put()
     coment = Comentario(usuario = user, comentario = comentario)
     coment.put()
     
     webapp2.redirect('/listaComentarios')
     return webapp2.redirect('/listaComentarios')
Esempio n. 5
0
def ingresar_comentario():
    if request.method == 'POST':
        if not request.form['contenido']:
            return render_template('error.html',
                                   error="Contenido no ingresado...")
        else:
            nuevo_comentario = Comentario(fecha=datetime.now(),
                                          contenido=request.form['contenido'],
                                          usuario_id=request.form['userId'])
            db.session.add(nuevo_comentario)
            db.session.commit()
            return render_template('inicio.html')
    return render_template('inicio.html')
Esempio n. 6
0
def mostrarAlojamientoId(request, ident):
    if request.user.is_authenticated():
        logged = True
        nombreUser = request.user.username
        try:
            user = User.objects.get(username=nombreUser)
        except User.DoesNotExist:
            print "Fallo aqui"

    else:
        logged = False
        nombreUser = "******"
    hotel = Hoteles.objects.get(id=int(ident))
    encontrado = True
    buscar = True
    if request.method == 'POST':
        comentario = Comentario(body=request.POST['comment'],
                                Hotel_id=int(ident),
                                Nombre_comentario=nombreUser)
        if buscar == True:
            try:
                comentario = Comentario.objects.get(
                    Hotel_id=int(ident), Nombre_comentario=nombreUser)
                print "busco y existe"
            except Comentario.DoesNotExist:
                encontrado = False
        if encontrado == False:
            comentario.save()
            print "guardo"
    try:
        hotel = Hoteles.objects.get(id=ident)
        imagenes = Imagen.objects.filter(Hotel_id=ident)
        comentario = Comentario.objects.filter(Hotel_id=ident)
    except Hoteles.DoesNotExist:
        return redirect("/alojamientos")


#respuesta += '<li><a href="/incluirFavorito">Incluir este alojamiento en Favoritos :)</a></li>'
#except Comentario.DoesNotExist:
#    comentario = ""
    template = get_template('alojamientoId.html')

    Context = RequestContext(
        request, {
            'username': nombreUser,
            'logged': logged,
            'hotel': hotel,
            'imagenes': imagenes,
            'comentarios': comentario,
        })
    return HttpResponse(template.render(Context))
 def wallposts_by_user(self, id):
     self.open_connection()
     cur = con.cursor()
     cur.execute(
         'SELECT c.id, c.texto, c.fecha, u_postea.nombres, u_postea.apellidos, u_postea.foto, u_postea.id u_postea, im.imagen  from usuario u, usuario u_postea, comentario c left join imagen im on im.id=c.idimagen where c.idusuario_comenta = u.id and '
         'c.idusuario_postea = u_postea.id and u.id = %s order by c.fecha desc', id)
     result = cur.fetchall()
     comentarios = []
     for row in result:
         cur.execute(
             'SELECT c.id, c.texto, c.fecha, u.nombres, u.apellidos, u.foto, u.id u_postea FROM comentario c, usuario u where idcomentario = %s and u.id = c.idusuario_postea order by c.fecha', row['id'])
         sub_comentarios = cur.fetchall()
         c = Comentario(row['id'], row['texto'], row['fecha'], row['nombres'], row['apellidos'], row['foto'], row['u_postea'], api.pretty_date(row['fecha']), row['imagen'], sub_comentarios)
         comentarios.append(c)
     return comentarios
Esempio n. 8
0
 def post(self, comentario_id):
     
     iden = int(comentario_id)
     nickname = self.request.get('nickname')
     comentario = self.request.get('comentario')
     
     user = Usuario(nombreusuario = nickname, 
                    email = users.GetCurrentUser().email())
     user.put()
     coment = Comentario(usuario = user, comentario = comentario)
     coment.put()
     
     comentarioAntiguo = db.get(db.Key.from_path('Comentario', iden))
     db.delete(comentarioAntiguo)
     
     return webapp2.redirect('/listaComentarios')
Esempio n. 9
0
 def post(self, evento_id):
     iden = int(evento_id)
     evento = Eventos.get_by_id(iden)
     usuarioSesion = users.get_current_user()
     email = usuarioSesion.email()
     usuario = Usuario.query().filter(Usuario.email == email).get()
     
     comentario = Comentario(autor = usuario,
                             comentario = self.request.get('comentario') ) 
     
     if not evento.comentarios:
         evento.comentarios = [comentario]
     else:
         evento.comentarios.append(comentario) 
     
     evento.put()
     
     return webapp2.redirect('/open/'+evento_id)
Esempio n. 10
0
def novo_comentario(request):
    try:
        c = Comentario()
        c.autor = request.POST['autor']
        c.comentario = request.POST['comentario']
        artigo = Artigo.objects.get(id=request.POST['id_artigo'])
        m = Mail()
        m.send('O artigo %s recebeu um comentário, corre lá...' %
               artigo.titulo)
    except Artigo.DoesNotExist:
        return _404(request)
    c.artigo = artigo
    c.save()
    comentarios = Comentario.objects.filter(artigo=artigo.id)
    return render_to_response('artigo.html', {
        'artigo': artigo,
        'comentarios': comentarios
    },
                              context_instance=RequestContext(request))
Esempio n. 11
0
def pag_alojamiento(request, identificador):
    hotel = Hotel.objects.get(id=int(identificador))
    titulo = hotel.nombre
    http_Resp = ""
    info_ingles = ""
    info_frances = ""
    autenticado = request.user.is_authenticated()
    if autenticado == True:
        http_Resp += Seleccionar(request.user.username, hotel.id)
        http_Resp += filtrar_idiomas(hotel.id)
        metodo = request.method
        if metodo == "POST" and request.POST.get("tipo") == "Idioma":
            idioma = request.POST.get("Idioma")
            if idioma == "en":
                info_ingles += info_otro_idioma(idioma, hotel.nombre)
            elif idioma == "fr":
                info_frances += info_otro_idioma(idioma, hotel.nombre)

    http_Resp += "<p><h3><font color='blue'>Datos generales</font></h3></p>"
    http_Resp += "<p>Email: " + hotel.email + "</p>"
    http_Resp += "<p>Telefono: " + hotel.phone + "</p>"
    http_Resp += "<p>Pagina hotel: <a href='" + hotel.web + "'>" + hotel.nombre + "</a></p>"
    http_Resp += "<p><h4>" + hotel.body + "</h4></p>"
    http_Resp += "<p><h3><font color='blue'>Datos de localizacion</font></h3></p>"
    http_Resp += "<p>Dirrecion: " + hotel.direccion + "</p>"
    http_Resp += "<p>Codigo postal: " + hotel.zipcode + "</p>"
    http_Resp += "<p>Pais: " + hotel.pais + "</p>"
    http_Resp += "<p>Cuidad: " + hotel.cuidad + "</p>"
    http_Resp += "<p>Latitud: " + hotel.latitud + "</p>"
    http_Resp += "<p>Longitud: " + hotel.longitud + "</p>"
    http_Resp += "<p><h3><font color='blue'>Imagenes hotel</font></h3></p>"
    imagenes = hotel.imagenes
    try:
        imagen_1 = imagenes.split("http://")[1].split("'")[0]
        imagen_1 = "http://" + imagen_1
        http_Resp += '<p><img src="' + imagen_1 + '"width="400" height="200" border="2"></p>'
        imagen_2 = imagenes.split("http://")[2].split("'")[0]
        imagen_2 = "http://" + imagen_2
        http_Resp += '<p><img src="' + imagen_2 + '"width="400" height="200" border="2"></p>'
        imagen_3 = imagenes.split("http://")[3].split("'")[0]
        imagen_3 = "http://" + imagen_3
        http_Resp += '<p><img src="' + imagen_3 + '"width="400" height="200" border="2"></p>'
        imagen_4 = imagenes.split("http://")[4].split("'")[0]
        imagen_4 = "http://" + imagen_4
        http_Resp += '<p><img src="' + imagen_4 + '"width="400" height="200" border="2"></p>'
        imagen_5 = imagenes.split("http://")[5].split("'")[0]
        imagen_5 = "http://" + imagen_5
        http_Resp += '<p><img src="' + imagen_5 + '"width="400" height="200" border="2"></p>'
    except IndexError:
        pass

    http_Resp += "<p><h3><font color='blue'>Comentarios:</font></h3></p>"
    comentarios = Comentario.objects.filter(id_hotel=hotel.id)
    if len(comentarios) == 0:
        http_Resp += "<p>Para este hotel no hay comentarios disponibles.</p>"
    else:
        for comentario in comentarios:
            http_Resp += "<li>" + comentario.comentario

    autenticado = request.user.is_authenticated()
    if autenticado == True:
        user = Usuario.objects.get(nombre=request.user.username)
        color = user.color_fondo
        http_Resp += "<p><h3><font color='blue'>Introducir un comentario:</font></h3></p>"
        http_Resp += Comentar(request.user.username, hotel.id)
        metodo = request.method
        if metodo == "POST" and request.POST.get("tipo") == "Comentario":
            comentario = request.POST.get("Comentario")
            new_comentario = Comentario(id_hotel=hotel.id,
                                        comentario=comentario)
            new_comentario.save()
            hotel.num_comentarios = hotel.num_comentarios + 1
            hotel.save()
            return HttpResponseRedirect("/alojamientos" + str(hotel.id))
    else:
        http_Resp += "<h4><font color='red'>No puedes comentar si no estas registado!</font></h4>"
        color = 'default'

    if info_ingles != "":
        contenido = info_ingles
    elif info_frances != "":
        contenido = info_frances
    else:
        contenido = http_Resp

    tipo = "pag NO principal"
    menu = obtener_menu(tipo)
    enlaces = ""
    return render(
        request, 'dreamy/index.html', {
            "contenido": contenido,
            "menu": menu,
            "titulo": titulo,
            "enlaces_personales": enlaces,
            'autenticado': request.user.is_authenticated(),
            'usuario': request.user.username,
            'form': LoginUsuario(),
            'color': color
        })
Esempio n. 12
0
    def addData(self):
        #ESTO ES PARA INICIALIZAR LA BASE DE DATOS
        q = db.GqlQuery("SELECT * FROM Modulo")
        resetearModulos = q.fetch(10)
        db.delete(resetearModulos)
        modulo1 = Modulo(nombremodulo='Modulo1',
                         valoralpha=1.2,
                         valorbeta=3.4,
                         valorgamma=9.3,
                         valorkappa=39.2,
                         idealidad=100.0,
                         resistencia=39.4,
                         rendimiento=20.0,
                         localizacion=db.GeoPt(
                             52.37,
                             4.88))  #hay un rango de valores algo estrecho
        modulo2 = Modulo(nombremodulo='Modulo2',
                         valoralpha=1.4,
                         valorbeta=3.6,
                         valorgamma=32.1,
                         valorkappa=31.1,
                         idealidad=10.0,
                         resistencia=30.4,
                         rendimiento=65.0,
                         localizacion=db.GeoPt(12.37, 87.88))
        modulo1.put()
        modulo2.put()

        q1 = db.GqlQuery("SELECT * FROM Campanya")
        resetearCampanyas = q1.fetch(10)
        db.delete(resetearCampanyas)

        campanya1 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 12, 30),
                             nombrecampanya='Dic18')
        campanya2 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 11, 30),
                             nombrecampanya='Nov18')
        campanya3 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 11, 30),
                             nombrecampanya='Nov18')
        campanya4 = Campanya(modulo=modulo1,
                             fecha=datetime(2018, 7, 30),
                             nombrecampanya='Jul18')
        campanya5 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 9, 30),
                             nombrecampanya='Sep18')
        campanya6 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 8, 30),
                             nombrecampanya='Ago18')
        campanya7 = Campanya(modulo=modulo2,
                             fecha=datetime(2018, 1, 30),
                             nombrecampanya='Ene18')
        campanya8 = Campanya(modulo=modulo2,
                             fecha=datetime(2017, 12, 30),
                             nombrecampanya='Dic17')

        campanya1.put()
        campanya2.put()
        campanya3.put()
        campanya4.put()
        campanya5.put()
        campanya6.put()
        campanya7.put()
        campanya8.put()

        q1 = db.GqlQuery("SELECT * FROM Usuario")
        resetearUsuarios = q1.fetch(10)
        db.delete(resetearUsuarios)

        usuario1 = Usuario(nombreusuario='juanito1',
                           email='*****@*****.**')

        usuario2 = Usuario(nombreusuario='juanito2',
                           email='*****@*****.**')

        usuario3 = Usuario(nombreusuario='pruebaparaingweb',
                           email='*****@*****.**')

        usuario4 = Usuario(nombreusuario='test', email='*****@*****.**')

        usuario1.put()
        usuario2.put()
        usuario3.put()
        usuario4.put()

        q2 = db.GqlQuery("SELECT * FROM Comentario")
        resetearComentarios = q2.fetch(10)
        db.delete(resetearComentarios)

        comentario1 = Comentario(usuario=usuario1, comentario='esto esta bien')

        comentario1.put()

        comentario2 = Comentario(usuario=usuario4, comentario='test comment')
        comentario2.put()

        comentario3 = Comentario(usuario=usuario4, comentario='test comment 2')
        comentario3.put()

        comentario4 = Comentario(usuario=usuario4, comentario='test comment 3')
        comentario4.put()
Esempio n. 13
0
def alojamiento(request, indice):
    encontrado = False
    hoteles = Hotel.objects.all()
    imagenes = Imagen.objects.all()
    comentarios = Comentario.objects.all()
    listafinal = []
    listaimagenes = []
    listacomentarios = []
    listaparaenviar = []
    listahoteles = []
    autenticado = False
    contador = 0
    for hotel in hoteles:
        if (hotel.hotel_id == indice):
            totalimagenes = 0
            indicecomentario = 1
            encontrado = True
            for imagen in imagenes:
                if ((imagen.hotel_id == hotel.hotel_id)
                        and (totalimagenes < 5)):
                    totalimagenes = totalimagenes + 1
                    listaimagenes.append(imagen)
            for comentario in comentarios:
                if (comentario.hotel_id == hotel.hotel_id):
                    try:
                        comentario = comentario.Cuerpo.split("=")[1]
                        buscar = '+'
                        reemplazar = ' '
                        comentario = comentario.replace(buscar, reemplazar)
                        listacomentarios.append(comentario)
                        indicecomentario = indicecomentario + 1
                    except IndexError:
                        listacomentarios.append(comentario.Cuerpo)
                        indicecomentario = indicecomentario + 1
            listahoteles.append(hotel)

    if request.user.is_authenticated() and encontrado == True:
        autenticado = True

    if request.method == 'POST':
        comentario = request.body
        if (comentario.split("=")[0] == 'mibotondeopcion'):
            if comentario.split("=")[1] == 'Ingl':
                theParser = make_parser()
                theHandler = myContentHandler()
                theParser.setContentHandler(theHandler)
                url = ("http://cursosweb.github.io/etc/alojamientos_en.xml")
                xmlFile = urlopen(url)
                theParser.parse(xmlFile)
                lista = theHandler.dameLista()
                for dic in lista:
                    h = Hotel(hotel_id=dic["id"],
                              nombre=dic["nombre"],
                              email=dic["email"],
                              telefono=dic["telefono"],
                              cuerpo=dic["cuerpo"],
                              web=dic["web"],
                              address=dic["address"],
                              pais=dic["pais"],
                              latitud=dic["latitude"],
                              longitud=dic["longitude"],
                              subAA=dic["subAdministrativeArea"],
                              idTipo=dic["idTipo"],
                              Tipo=dic["Tipo"],
                              idCategoria=dic["idCategoria"],
                              Categoria=dic["Categoria"],
                              idSubCategoria=dic["idSubCategoria"],
                              subCategoria=dic["SubCategoria"],
                              NumComentarios=0)

                    if (h.hotel_id == indice):
                        listahoteles.append(h)

            elif comentario.split("=")[1] == 'Fran':
                theParser = make_parser()
                theHandler = myContentHandler()
                theParser.setContentHandler(theHandler)
                url = ("http://cursosweb.github.io/etc/alojamientos_fr.xml")
                xmlFile = urlopen(url)
                theParser.parse(xmlFile)
                lista = theHandler.dameLista()
                for dic in lista:
                    h = Hotel(hotel_id=dic["id"],
                              nombre=dic["nombre"],
                              email=dic["email"],
                              telefono=dic["telefono"],
                              cuerpo=dic["cuerpo"],
                              web=dic["web"],
                              address=dic["address"],
                              pais=dic["pais"],
                              latitud=dic["latitude"],
                              longitud=dic["longitude"],
                              subAA=dic["subAdministrativeArea"],
                              idTipo=dic["idTipo"],
                              Tipo=dic["Tipo"],
                              idCategoria=dic["idCategoria"],
                              Categoria=dic["Categoria"],
                              idSubCategoria=dic["idSubCategoria"],
                              subCategoria=dic["SubCategoria"],
                              NumComentarios=0)
                    if (h.hotel_id == indice):
                        listahoteles.append(h)

            else:
                respuesta = respuesta
        elif (comentario.split("=")[0] == 'seleccion'):
            ahora = datetime.now()
            u = Elegidos(Nombre=request.user.username,
                         Fecha=ahora,
                         hotel_id=indice)
            u.save()

        else:
            for hotel in hoteles:
                if (hotel.hotel_id == indice):
                    comentario = request.body.split("=")[1]
                    buscar = '+'
                    reemplazar = ' '
                    comentario = comentario.replace(buscar, reemplazar)
                    c = Comentario(Cuerpo=comentario, hotel_id=indice)
                    c.save()
                    hotel.NumComentarios = hotel.NumComentarios + 1
                    listacomentarios.append(comentario)

    listafinal.append((listahoteles, listaimagenes, listacomentarios))
    listaparaenviar.append((listafinal, autenticado))
    template = get_template('alojamiento.html')
    Context = RequestContext(request, {'lista': listaparaenviar})
    return HttpResponse(template.render(Context))