<commit_before>require 'sinatra'
require 'mysql'
require 'pg'
#Función que crea nueva conversación
get '/crear/nuevo' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	my.exec("insert into conversacion VALUES((select ID from conversacion ORDER BY ID DESC LIMIT 1)+1);")
	res = my.exec("select * from conversacion ORDER BY ID DESC LIMIT 1;")
	res.each do |r|
		redirect "/crear/#{r[0]}"	
	end
end

#Función que crea la presentación de la conversación a trabajarse
get '/crear/:cid' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	res = my.exec("select * from Mensajes WHERE ConversacionID = '#{params[:cid]}'")
	res2 = my.exec("select * from Respuestas r, Mensajes m WHERE ConversacionID = '#{params[:cid]}' AND r.MensajeID = m.ID AND m.Tipo_Declaracion = 'abcd'")
	link = request.url.sub("crear", "responder")	
	erb :index, :locals => {:mensajes => res, :respuestas => res2, :cid => params[:cid], :link => link}
	
end

#Función que toma los mensajes y respectivas respuesta de una conversación
post '/crear/:cid' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	link = request.url.sub("crear", "responder")
	mensajeID = "0"
	respuestaID = "0"
	#Esta parte valida si el mensaje es basado en respuesta o continuación de mensaje anterior
	if params[:origen].include? 'm'
		mensajeID = params[:origen].split('m').last
	elsif params[:origen].include? 'r'
		respuestaID = params[:origen].split('r').last
	end
	#Esta parte ingresa el nuevo mensaje
	my.exec("insert into Mensajes(ConversacionID, Mensaje, Tipo_Declaracion, MensajeAnterior, BasadoRespuesta) VALUES ('#{params[:cid]}', '#{params[:declaracion]}', '#{params[:tipo]}', '#{mensajeID}', '#{respuestaID}');")

	my.exec("update Mensajes set MensajeAnterior = NULL, BasadoRespuesta = NULL Where MensajeAnterior=0 AND BasadoRespuesta=0;")
	res = my.exec("select ID from Mensajes WHERE Mensaje = '#{params[:declaracion]}' AND Tipo_Declaracion = '#{params[:tipo]}' AND ConversacionID = '#{params[:cid]}'")
	#Esta parte ingresa las potenciales respuestas de un mensaje
	if params[:tipo] == "FREE"
		res.each do |row|
			my.exec("insert into Respuestas(MensajeID, Texto) VALUES "+
				"('#{row[0]}', '#{params[:respuestas]}')")
		end
	
	elsif
		res.each do |row|
			params[:respuestas].split("\n").each do |respuesta|
			my.exec("insert into Respuestas(MensajeID, Texto) VALUES "+
			"('#{row[0]}', '#{respuesta}')")
			end	
		end
	end
	#Esta parte genera la presentación
	res = my.exec("select * from Mensajes WHERE ConversacionID = '#{params[:cid]}'")<commit_msg>arreglando defecto<commit_after>require 'sinatra'
require 'mysql'
require 'pg'
#Función que crea nueva conversación
get '/crear/nuevo' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	my.exec("insert into conversacion VALUES((select ID from conversacion ORDER BY ID DESC LIMIT 1)+1);")
	res = my.exec("select * from conversacion ORDER BY ID DESC LIMIT 1;")
	res.each do |r|
		redirect "/crear/#{r[0]}"	
	end
end

#Función que crea la presentación de la conversación a trabajarse
get '/crear/:cid' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	res = my.exec("select * from Mensajes WHERE ConversacionID = '#{params[:cid]}'")
	res2 = my.exec("select * from Respuestas r, Mensajes m WHERE ConversacionID = '#{params[:cid]}' AND r.MensajeID = m.ID AND m.Tipo_Declaracion = 'abcd'")
	link = request.url.sub("crear", "responder")	
	erb :index, :locals => {:mensajes => res, :respuestas => res2, :cid => params[:cid], :link => link}
	
end

#Función que toma los mensajes y respectivas respuesta de una conversación
post '/crear/:cid' do
	my = PGconn.open("ec2-23-21-144-152.compute-1.amazonaws.com", 5432, '', '',"mjjsaotlzo", "mjjsaotlzo", "U9ZBrHHAQ0gBh6wHmkxd")
	link = request.url.sub("crear", "responder")
	mensajeID = "NULL"
	respuestaID = "NULL"
	#Esta parte valida si el mensaje es basado en respuesta o continuación de mensaje anterior
	if params[:origen].include? 'm'
		mensajeID = params[:origen].split('m').last
	elsif params[:origen].include? 'r'
		respuestaID = params[:origen].split('r').last
	end
	#Esta parte ingresa el nuevo mensaje
	my.exec("insert into Mensajes(ConversacionID, Mensaje, Tipo_Declaracion, MensajeAnterior, BasadoRespuesta) VALUES ('#{params[:cid]}', '#{params[:declaracion]}', '#{params[:tipo]}', '#{mensajeID}', '#{respuestaID}');")

	my.exec("update Mensajes set MensajeAnterior = NULL, BasadoRespuesta = NULL Where MensajeAnterior=0 AND BasadoRespuesta=0;")
	res = my.exec("select ID from Mensajes WHERE Mensaje = '#{params[:declaracion]}' AND Tipo_Declaracion = '#{params[:tipo]}' AND ConversacionID = '#{params[:cid]}'")
	#Esta parte ingresa las potenciales respuestas de un mensaje
	if params[:tipo] == "FREE"
		res.each do |row|
			my.exec("insert into Respuestas(MensajeID, Texto) VALUES "+
				"('#{row[0]}', '#{params[:respuestas]}')")
		end
	
	elsif
		res.each do |row|
			params[:respuestas].split("\n").each do |respuesta|
			my.exec("insert into Respuestas(MensajeID, Texto) VALUES "+
			"('#{row[0]}', '#{respuesta}')")
			end	
		end
	end
	#Esta parte genera la presentación
	res = my.exec("select * from Mensajes WHERE ConversacionID = '#{params[:cid]}'")
{'fraction_non_alphanumeric': 0.16935046137144924, 'fraction_numerical': 0.024606477293287497, 'mean_word_length': 5.427906976744186, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '147166', 'n_tokens_mistral': 2257, 'n_tokens_neox': 2140, 'n_words': 512}