def fazLogin(con):
	# recepcao dos dados
	login = con.recv(1024)
	con.send('OK')
	senha = con.recv(1024)
	# validacao dos dados
	conexao = getConexao()
	cursor = conexao.cursor()
	cursor.execute('select senha from usuario where login = %s', (login,))
	res = cursor.fetchall()
	conexao.close()
	#retorno ao cliente
	if len(res) == 0:
		con.send(LOGIN_USUARIO_INCORRETO)
		con.recv(1024) #aguarda ok do cliente
	elif res[0][0] != senha:
		con.send(LOGIN_SENHA_INCORRETA)
		con.recv(1024) #aguarda ok do cliente
	else:
		con.send(LOGIN_OK)
		con.recv(1024) #aguarda ok do cliente
		atualizaIp(con.getpeername()[0], login)#atualiza IP do cliente no banco de dados
		atualizaPresenca(login, STATUS_ONLINE)#atualiza o status do cliente
		return login #devolve o login para a thread
	return None #se nao fizer login, devolve nada para athread
def atualizaPresenca(login, status):
	sql = """update usuario 
			 set status = %s
			 where login = %s"""
	conexao = getConexao()
	cursor = conexao.cursor()
	cursor.execute(sql, (status,login,))
	conexao.commit()
	conexao.close()
def addContato(login, contato):
	sql = """select * from usuario
			where login = %s"""
	conexao = getConexao()
	loginId = conexao.cursor()
	loginId.execute(sql, (login,))
	contatoId = conexao.cursor()
	contadoId.execute(sql, (contato,))
	
	sql = """insert into contato (usuario_id, amigo_id)
		values (%s, %s)"""
	# TODO: daqui meu SQL eh muito enferrujado pra continuar
	conexao.commit()
	conexao.close()
def getListaContatos(login):
	contatos = []
	#busca a lista de contatos (apenas os que estao online) no BD
	sql = """select u.login, u.ip, u.status
			 from contato c inner join usuario u on u.id = c.amigo_id
			 where c.usuario_id = (select id from usuario where login = %s)
			 and u.status = 1"""
	conexao = getConexao()
	cursor = conexao.cursor()
	cursor.execute(sql,(login,))
	for contato in cursor:
		c = {}
		c['nome'] = contato[0]
		c['ip'] = contato[1]
		contatos.append(c)
	conexao.close()
	return contatos
def atualizaIp(ip, login):
	conexao = getConexao()
	cursor = conexao.cursor()
	cursor.execute('update usuario set ip = %s where login = %s', (ip,login,))
	conexao.commit()
	conexao.close()