[Rio-pm] Tk travando, devo usar threads?

Aureliano Guedes guedes_1000 em hotmail.com
Terça Julho 10 13:59:01 PDT 2012


Bruno, estou tentando seguir suas dicas, mas uma pergunta, não entendi direito o que seria o passo 3.

3) Crie um construtor decente para sua classe usando uma sub BUILD [1]....


From: bruno.buss em gmail.com
Date: Sat, 7 Jul 2012 11:27:20 -0300
To: rio-pm em pm.org
Subject: Re: [Rio-pm] Tk travando, devo usar threads?

2012/7/7 Aureliano Guedes <guedes_1000 em hotmail.com>






Entendi, mas o que acontece é o seguinte, as paginas do vbshout.php apesar de não terem o SECURITYTOKEN elas precisam dele, então acredito que há alguma verificação nos cookies, tanto que que se não estiver logado o que verei nessa pagina http://www.forum-invaders.com.br/vb/vbshout.php?type=activeusers&do=ajax&action=fetch&instanceid=2 será isso:


{"ajax":"fetch","content":"There are currently no users chatting.","activeusers":"0"}

e não isso:

{um monte de coisa}



Exato Aureliano, leia o que eu escrevi com calma...O que eu disse fui justamente que esse {um monte de coisa} não contem nem o SECURITYTOKEN, nem nenhum "Bem-vindo"... logo sua função send_msg está *ERRADA*, pois ela espera que o $url esteja em um estado, porém em alguns (vários?) casos ela não estará.


Além disso, esse "if($content =~ /Bem-vindo/gi)" não garante que você está logado ou não... eu como guest consigo ver a página inicial do fórum com isso.
Minha sugestão para o Shoutbox.pm:

1) Crie um método de login, e tire do "código global" do pacote Shoutbox.pm.2) Crie um método para verificar se está logado, creio que fazendo do método atual, verificando o SECURITYTOKEN, deve funcionar de boa.

3) Crie um construtor decente para sua classe usando uma sub BUILD [1] (pessoal mais experiente com Moose, se eu estiver falando besteira me corrija por favor). Nela você já pode tentar fazer um login inicial usando a função criada em (1) e já guardar o seu SECURITYTOKEN.

4) Modifique a sua send_msg para fazer exatamente o seguinte: - Verifique se está logado (2). Se não, logue (1). (Talvez você queira fazer umas 3 tentativas antes de desistir, retornando algum erro.)

 - Envie a mensagem.5) Faça a mesma coisa do passo anterior para sua função get_msg.6) Adicione alguns testes na sua classe :D


[ ]'s


[1] https://metacpan.org/module/Moose::Manual::Construction#BUILD
-- 
Bruno C. Buss
http://www.brunobuss.net




_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm 		 	   		  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120710/82a04c15/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm