def responderComentario(request): datosRespuesta = request.raw_post_data tree = xml.fromstring(datosRespuesta) for i in tree.iter(): if i.tag == "nickName": nickName = i.text elif i.tag == "usuarioRespuesta": usuarioRespuesta = i.text elif i.tag == "idComentario": idComentario = i.text elif i.tag == "texto": texto = i.text elif i.tag == "admiteRespuesta": admiteRespuesta = i.text elif i.tag == "token": token = i.text now = datetime.datetime.now() elComentario = GestionComentario.Comentario() elComentario.nickName = nickName elComentario.usuarioRespuesta = usuarioRespuesta elComentario.idComentario = idComentario elComentario.texto = texto elComentario.admiteRespuesta = admiteRespuesta elComentario.token = token elComentario.fecha = str (now) usuario = GestionComentario.validarUsuarioRespuesta(idComentario) elToken = GestionToken.Token() ip = str(request.META['REMOTE_ADDR']) elToken.token = token elToken.nickName = nickName elToken.ip = ip if(usuario == usuarioRespuesta): if elToken.validarToken() == "TRUE": if GestionComentario.admitirRespuesta(idComentario) == "TRUE": if elComentario.responderComentario() == "TRUE": elComentario.notificarRespuestaComentario(usuarioRespuesta) return render_to_response('respuestaMensaje.xml', {'mensajeRespuesta': "Se ha agregado satisfactoriamente la respuesta el dia: "+elComentario.fecha},mimetype='application/xml') else: logging.error('EC-015:Error al tratar de generar la respuesta por el usuario '+nickName) return render_to_response('errorMensaje.xml', {'errorMensaje': "Error al tratar de generar la respuesta el dia:" +elComentario.fecha},mimetype='application/xml') else: return render_to_response('errorMensaje.xml', {'errorMensaje': "Este comentario no admite respuesta"},mimetype='application/xml') elif elToken.validarToken() == "Error": logging.error('EC-016:Error el tiempo del token del usurario '+nickName+' ha expirado') return render_to_response('errorMensaje.xml', {'errorMensaje': "Lo sentimos el tiempo de su token ha expirado. Vuelva a Iniciar Sesion"},mimetype='application/xml') else: logging.error('EC-017:Error el usuario '+nickName+ ' envio un token incorrecto') return render_to_response('errorMensaje.xml', {'errorMensaje': "Error el token enviado es incorrecto"},mimetype='application/xml') else: logging.error('EC-018:Error la respuesta enviado por el usuario '+nickName+ ' no esta asociada al comentario') return render_to_response('errorMensaje.xml', {'errorMensaje': "La respuesta no esta asociada al comentario"},mimetype='application/xml')
def listarRespuesta(request): datosRespuesta = request.raw_post_data tree = xml.fromstring(datosRespuesta) for i in tree.iter(): if i.tag == "nickName": nickName = i.text elif i.tag == "idComentario": idComentario = i.text laRespuesta = GestionComentario.Comentario() listaDeRespuestas = GestionComentario.listaRespuesta(nickName,idComentario) if listaDeRespuestas == "FALSE": return render_to_response('errorMensaje.xml', {'errorMensaje': "Error no se encuentran respuestas para esta persona"},mimetype='application/xml') else: datos = "<listaRespuesta>" i = 0 while i < len(listaDeRespuestas): valores = listaDeRespuestas[i].split(':') usuario = "\n <nickName>"+valores[0]+"</nickName>" usuarioResp = "\n <usuarioRespuesta>"+valores[1]+"</usuarioRespuesta>" texto = "\n <texto>"+valores[2]+"</texto>\n" datos = datos + usuario + usuarioResp + texto i = i + 1 datos = datos + "\n</listaRespuesta>" return HttpResponse(datos, content_type= "application/xml")
def listarComentario(request,nickName): nickName = str (nickName) elComentario = GestionComentario.Comentario() listaDeComentarios = GestionComentario.listaComentario(nickName) if listaDeComentarios == "FALSE": return render_to_response('errorMensaje.xml', {'errorMensaje': "Error no se encuentran comentarios para esta persona"},mimetype='application/xml') else: datos = "<listaComentario>" i = 0 while i < len(listaDeComentarios): valores = listaDeComentarios[i].split(':') subetiqueta = "\n <Comentario>" identificador = "\n <idComentario>"+valores[0]+"</idComentario>" usuario = "\n <nickName>"+valores[1]+"</nickName>" texto = "\n <texto>"+valores[2]+"</texto>" token = "\n <token>"+valores[3]+"</token>" meGusta = "\n <meGusta>"+valores[4]+"</meGusta>" noMeGusta = "\n <noMeGusta>"+valores[5]+"</noMeGusta>" subetiqueta2 = "\n </Comentario>" datos = datos + subetiqueta+ identificador + usuario + texto + token + meGusta + noMeGusta + subetiqueta2 i = i + 1 datos = datos + "\n</listaComentario>" return HttpResponse(datos, content_type= "application/xml")
def cuentaNoMeGusta(request): datosComentario = request.raw_post_data tree = xml.fromstring(datosComentario) for i in tree.iter(): if i.tag == "idComentario": idComentario = i.text contador = GestionComentario.contarNoMeGusta(idComentario) if (contador == "FALSE"): logging.error('EC-029:Error el comentario '+idComentario+' no existe') return render_to_response('errorMensaje.xml', {'errorMensaje': "Este comentario no existe"},mimetype='application/xml') else: return render_to_response('respuestaMensaje.xml', {'mensajeRespuesta': "A "+ str(contador) + " Personas NO le(s) gusta este comentario "},mimetype='application/xml')
def listarEtiqueta(request,nombreEtiqueta): listaDeDatosComentario = GestionComentario.listaEtiquetas(nombreEtiqueta) if listaDeDatosComentario == "FALSE": return render_to_response('errorMensaje.xml', {'errorMensaje': "Error no se encuentran comentarios con esta etiqueta"},mimetype='application/xml') else: datos = "<listaComentariosConEtiquetas>\n" i = 0 losComentarios = '' resultado = '' while i < len(listaDeDatosComentario): valores = listaDeDatosComentario[i].split(':') idComentario = valores[0] nickName = valores[1] losComentarios = losComentarios + GestionComentario.listarComentariosConEtiqueta(idComentario,nickName) i = i + 1 i = 0 arreglo = losComentarios.split(":") while i < len(arreglo)-1: resultado = resultado + "<texto>" + arreglo[i] + "<texto>\n" i = i + 1 datos = datos + resultado + "</listaComentariosConEtiquetas>" return HttpResponse(datos, content_type= "application/xml")