grok.XMLRPC

1 view
Skip to first unread message

Flavio Coelho

unread,
Nov 23, 2007, 8:03:09 AM11/23/07
to grok-br
Oi pessoal,

eu estou seguindo o howto para xmlrpc no grok e acho que encontrei um
erro, ou uma imprecisão

consegui faze funcionar o xmlrpc muito bem até que eu quis fazer o
último exemplo: declarar uma classe derivada de grok.XMLRPC em um
outro módulo (não o app.py)

fiz tudo o que manda o tutorial, inclusive setar o contexto da classe
com grok.context()

só que não funciona, pois o novo módulo, nunca é importado. Não posso
importá-lo de app.py por que senão geraria um import circular. deve
haver algum lugar na configuração onde eu possa dizer ao grok que meu
novo módulo deve ser importado como parte da aplicação, mas não sei
onde é...

enfim, desculpe a ignorância mas a documentação do Grok ainda é meio
fraca....

abcs,

Flávio

Luciano Ramalho

unread,
Nov 23, 2007, 8:15:25 AM11/23/07
to gro...@googlegroups.com
Flavio, neste momento eu não tenho tempo de investigar o que ocorre
com o howto de xmlrpc, mas talvez seja util para você o código do
kirbi que implementa XML-RPC. O código é muito básico, mas funciona, e
está no módulo pac.py:

http://svn.zope.org/grokapps/kirbi/trunk/src/kirbi/pac.py?rev=79777&view=markup

[ ]s
Luciano

Flavio Coelho

unread,
Nov 23, 2007, 8:43:52 AM11/23/07
to grok-br
Oi Luciano,

se eu declarar a uma classe herdando de grok.XMLRPC no app.py, tudo
funciona perfeitamente. O problema é se eu quiser declarar em um outro
módulo...parece que no caso do kirby pac é uma aplicação stand-alone,
certo? o que eu estou tentando fazer é uma classe xmlrpc, que tem seu
contexto (grok.context) em outro módulo.

flavio



On Nov 23, 11:15 am, "Luciano Ramalho" <luci...@ramalho.org> wrote:
> Flavio, neste momento eu não tenho tempo de investigar o que ocorre
> com o howto de xmlrpc, mas talvez seja util para você o código do
> kirbi que implementa XML-RPC. O código é muito básico, mas funciona, e
> está no módulo pac.py:
>
> http://svn.zope.org/grokapps/kirbi/trunk/src/kirbi/pac.py?rev=79777&v...
>
> [ ]s
> Luciano

Leonardo Rochael Almeida

unread,
Nov 23, 2007, 9:00:15 AM11/23/07
to gro...@googlegroups.com
Oi Flavio,

Existem duas maneiras de resolver seu problema de import circular,
nenhuma delas é específica ao grok:

1. Importe o módulo com a view XMLRPC a partir do __init__.py do
pacote, para não precisar importar o app.py do seu outro módulo.

2. Declare que seu contexto implementa uma interface específica, e
declare o contexto de sua view XMLRPC como sendo essa interface.

Além disso, se vc realmente acha que topou com um bug no grok pelo
fato de que seu módulo não está sendo escaneado, então alerte a lista
grok-dev para o fato.

Abraços, Leo

Fernando Correa Neto

unread,
Nov 23, 2007, 9:23:06 AM11/23/07
to gro...@googlegroups.com
Opa

On Nov 23, 2007 12:00 PM, Leonardo Rochael Almeida <leoro...@gmail.com> wrote:
>
> Oi Flavio,
>
> Existem duas maneiras de resolver seu problema de import circular,
> nenhuma delas é específica ao grok:
>
> 1. Importe o módulo com a view XMLRPC a partir do __init__.py do
> pacote, para não precisar importar o app.py do seu outro módulo.
>
> 2. Declare que seu contexto implementa uma interface específica, e
> declare o contexto de sua view XMLRPC como sendo essa interface.
>
> Além disso, se vc realmente acha que topou com um bug no grok pelo
> fato de que seu módulo não está sendo escaneado, então alerte a lista
> grok-dev para o fato.

Ou até mesmo antes de reportar o possível bug, tentar debugar o
XMLRPCGrokker para verificar se o seu modulo está sendo ignorado por
alguma razão.

[]'s
Fernando

Flavio Coelho

unread,
Nov 23, 2007, 10:44:54 AM11/23/07
to grok-br
Oi Leo,

não acho que seja um bug do Grok apenas do tutorial de XMLRPC, que não
funciona como está descrito (apenas o úlitmo exemplo)

eu resolvi o problema importando minha classe e edefinindo wrapper
methods na classe grok.XMLRPC, expondo os métodos que eu queria... dá
trabalho mas funciona... ;-)

explicit is better than implicit...

gostei das suas sugestões mas nã faço ideia de como executar a
sugestão 2... Coisas de novato em Grok...

abraços e obrigado de novo!

Flávio

On Nov 23, 12:00 pm, "Leonardo Rochael Almeida" <leoroch...@gmail.com>
wrote:
> Oi Flavio,
>
> Existem duas maneiras de resolver seu problema de import circular,
> nenhuma delas é específica ao grok:
>
> 1. Importe o módulo com a view XMLRPC a partir do __init__.py do
> pacote, para não precisar importar o app.py do seu outro módulo.
>
> 2. Declare que seu contexto implementa uma interface específica, e
> declare o contexto de sua view XMLRPC como sendo essa interface.
>
> Além disso, se vc realmente acha que topou com um bug no grok pelo
> fato de que seu módulo não está sendo escaneado, então alerte a lista
> grok-dev para o fato.
>
> Abraços, Leo
>

Flavio Coelho

unread,
Nov 23, 2007, 10:48:12 AM11/23/07
to grok-br
Pois é Fernando ,

eu não acho que é um Bug, mas o que eu não sei é como fazer o meu
módulo ser "notado" (ou melhor, executado/importado), acho
perfeitamente natural ele ser "ignorado" se não estiver sendo
importado por app.py... ;-)

abcs,

Flávio

On Nov 23, 12:23 pm, "Fernando Correa Neto" <fcd...@gmail.com> wrote:
> Opa
>
> On Nov 23, 2007 12:00 PM, Leonardo Rochael Almeida <leoroch...@gmail.com> wrote:
>
>
>
> > Oi Flavio,
>
> > Existem duas maneiras de resolver seu problema de import circular,
> > nenhuma delas é específica ao grok:
>
> > 1. Importe o módulo com a view XMLRPC a partir do __init__.py do
> > pacote, para não precisar importar o app.py do seu outro módulo.
>
> > 2. Declare que seu contexto implementa uma interface específica, e
> > declare o contexto de sua view XMLRPC como sendo essa interface.
>
> > Além disso, se vc realmente acha que topou com um bug no grok pelo
> > fato de que seu módulo não está sendo escaneado, então alerte a lista
> > grok-dev para o fato.
>
> Ou até mesmo antes de reportar o possível bug, tentar debugar o
> XMLRPCGrokker para verificar se o seu modulo está sendo ignorado por
> alguma razão.
>
> []'s
> Fernando
>
>
>
> > Abraços, Leo
>
Reply all
Reply to author
Forward
0 new messages