On Thu, 24 Nov 2005 20:52:59 -0000
"silviolucianojr" <[EMAIL PROTECTED]> wrote:
> A minha idéia é montar um formulário de cadastro mas usando o ZODB via
> python
> Estou tentando usar este script 
> from ZODB import FileStorage, DB
> storage = FileStorage.FileStorage('mydatabase.fs')
> db = DB(storage)
> connection = db.open()
> root = connection.root()
> root['employees'] = ['Mary', 'Jo', 'Bob']
> get_transaction().commit()
> connection.close()
> 
> Rodar como External Method no Zope e ele me joga este erro

Silvio,

assim não vai dar certo. Abrir o FileStorage direto só é possível
se o Zope não estiver rodando (assim o arquivo .fs vai estar liverado
para acesso). 

Existem duas opções: (i) você abre um arquivo .fs que não é montado
pelo Zope (ou seja totalmente independente e só gerenciado pelo
seu script Python) (ii) você usa ZEO. Assim o Zope vai acessar o 
mount-point (.fs) via ClientSotrage e seu script também pode fazer
o mesmo.

(i) é ruim pois vc vai ficar abrindo e fechando o FileStorage o que não
    é muito eficiente. (Se isso for implementado com um MétodoExterno)
(ii) eu nunca tentei fazer algo assim para ver se funcionaria. =)

Eu já usei o ZODB independentemente do Zope e funciona muito bem.
Mas para usá-lo em conjunto com o Zope, IMO o correto seria vc fazer
um produto (ao invés do método externo), o qual também reside no 
filesystem e permite livre acesso a API de Python e ao ZODB.

Abração
Senra
   


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a