[ FLÁVIO GOMES DA SILVA LISBOA <[EMAIL PROTECTED]> ]:
----------------------------------------
|
|  Li a série de mensagens "Re: [zope-pt] importar uma classe do python
|  no zope"
|  
|  Eu criei via Archetypes um produto chamado Usuario. Eu gostaria de
|  poder instanciar a classe Usuario (que está no contents desse produto)
|  e manipulá-la dentro de um script Python, no Zope.

Infelizmente não funciona assim. Existem 2 obs importantes:
 
1) Para instanciar classes do Archetypes vc deve usar uma API especial
   invokeFactory(). Não basta apenas criar uma instância a partir de
   uma classe Python. É preciso fazer com que essa instância interaja
   com o resto do Plone. A api invokeFactory faz isso para vc.

2) Scripts Python criados dentro da ZMI (pelo browser) executam dentro
   de uma "caixa-de-areia" e estão sujeitos a um monte de restrições.
   Por isso o código Python que vai fazer a criação das instâncias
   (através de invokeFactory) deve ficar no sistema de arquivos,
   possivelmente  com o resto do seu produto.
     
Agora o Plone já traz um ferramental para integrar o seu novo tipo
a interface de usuário, colocando o nome do tipo na lista de ações.
Para tanto basta configurar o tipo como "implicitamente adicionável"
no código-fonte ou via portal_types.

De uma olhadela neste tutorial [1].

[1] 
http://plone.org/documentation/tutorial/manipulating-plone-objects-programmatically/tutorial-all-pages


Abração,
Senra

-------------
Rodrigo Senra
GPr Sistemas

Responder a