ZClasses é um assunto complicado.  Apesar de ser mantida nas versões atuais, existem poucas pessoas dispostas a ajudar na sua utilização.

Eu estive dando uma olhada na documentação do Zope e creio que você pode incrementar seu external method, fazendo o carregamento das informações necessárias, por meio da API do módulo Image.  Apesar de ter esse nome, na verdade esse módulo também é utilizado para criação dos objetos File.

Assim, para criar um objeto, você pode utilizar o método:

manage_addFile(id, file="", title="", precondition="", content_type="", REQUEST=None)

Uma vez criado o objeto, você pode inserir dados nele usando um dos seguintes métodos:

manage_upload(file, REQUEST=None)
update_data(data, content_type=None, size=None)

Depois de carregado, é só criar os templates que exibirão os dados formatados para o usuário.

Você pode encontrar mais informações aqui: http://www.plope.com/Books/2_7Edition/AppendixB.stx#0-10

Zénrique.


Em 20/07/06, beginning pzp < [EMAIL PROTECTED]> escreveu:
>
>
>    A aplicação vai ler um diretório no FS, /var/xxx, e faz uma varredura no conteúdo dos arquivos texto, e atualiza um container no ZODB, com os dados dos arquivos. Criei uma função que divide cada coluna dos arquivos texto em campos de uma dicionário de dados, agora só preciso adicionar os dados num container para poder formatá-lo de acordo com a necessidade do cliente. Pensei em criar uma ZClass, com as propriedades relativas as colunas dos arquivos textos. O que você acha?
>
>
> José Henrique <[EMAIL PROTECTED]> escreveu:
>
>     Quando você diz que a leitura dos arquivos tem que ser feita sem a
>  intervenção do usuário, significa que o arquivo a ser já está no
>  servidor onde está instalado o Zope?
>  
>  Se for assim, você pode mapear esse arquivo para o ZODB usando
>  produtos já existentes (ExternalFile, LocalFS-andreas.  Se você  usa
>  Plone, melhor ainda:
>  http://plone.org/products/by-category/integration)
>  
>  Zénrique.
>  
>  Em 19/07/06, Ricardo Takashi Abe< [EMAIL PROTECTED]> escreveu:
>  > Tenho sim, esse é um trecho do cadastramento de usuários de um site que
>  > eu fiz:
>  >
>  > if (login=='' or senha=='' or email=='' or ddd=='' or telefone=='' or
>  > nome=='' or unidade=='' or cargo==''):
>  >     return context.solicita_cadastro(context,request, erro='Todos os
>  > campos são obrigatórios')
>  > else:
>  >     context.usuarios.manage_addProduct [ 'OFSP' ].manage_addFolder (
>  > login, title = nome )
>  >     usuario=getattr(context.usuarios,login)
>  >     usuario.manage_addProperty ( 'senha', senha, 'string' )
>  >      usuario.manage_addProperty ( 'email', email, 'string' )
>  >     usuario.manage_addProperty ( 'ddd', ddd, 'string' )
>  >     usuario.manage_addProperty ( 'telefone', telefone, 'string' )
>  >     usuario.manage_addProperty ( 'administrador', administrador, 'string' )
>  >     usuario.manage_addProperty ( 'unidade', unidade, 'string' )
>  >     usuario.manage_addProperty ( 'cargo', cargo, 'string' )
>  >     usuario.manage_addProperty ( 'aprovado', 0, 'int' )
>  >
>  > Esse script python pega a pasta usuarios e adiciona uma pasta que
>  > simbolizaria um usuário (tinha que ser uma pasta pq o usuário tem alguns
>  > arquivos vinculados a ele, mas pode ser outro tipo de objeto)
>  >
>  > O script para recuperar os dados é assim (tem como parâmetro de busca o
>  > login):
>  >
>  >  usuarios=context.usuarios.objectValues()
>  > usuario=None
>  > for x in usuarios:
>  >     if (x.id==login):
>  >         usuario=x
>  >         #nota: dá para acessar os dados do usuário com x.senha, x.email,
>  > etc...
>  > return [usuario]
>  >
>  > Ele retorna uma lista com os atributos do usuário...
>  >
>  > Espero que tenha sido de ajuda ^^
>  >
>  > []'s
>  > Takashi
>  >
>  >
>  > beginning pzp wrote:
>  >
>  > > Tem algum exemplo de como fazer?
>  > >
>  > > */Ricardo Takashi Abe <[EMAIL PROTECTED] >/* escreveu:
>  > >
>  > >     Também dá para criar um objeto e colocar os campos nas
>  > >     propriedades dele ^^
>  > >
>  > >     Takashi
>  > >
>  >  >
>  > >     José Henrique wrote:
>  > >
>  > >     > Por que você não insere esse texto no ZODB utilizando um objeto
>  > >     File e
>  > >     > depois exibe os dados formatados usando zpt + script python?  Dá
>  > >     até
>  > >     > pra aproveitar o código que você desenvolveu para o external method.
>  > >     >
>  > >     > Zénrique.
>  > >     >
>  > >     > Em 19/07/06, *beginning pzp* <[EMAIL PROTECTED]
>  > >     > <mailto:[EMAIL PROTECTED] >> escreveu:
>  > >     >
>  > >     >     Caros Gurus,
>  >  >     >
>  > >     >     Preciso escrever uma aplicação com urgência, por isso
>  > >     gostaria de
>  > >     >     vossa ajuda. A aplicação lê varios arquivos textos de uma outra
>  > >     >     aplicação no seguinte formato:
>  > >     >
>  > >     >     00000038 06/06/2006 16:09:20
>  > >     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>  > >     >     ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
>  > >     >     00000039 06/06/2006 16:09:23
>  > >     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>  > >     >      ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
>  > >     >     00000040 06/06/2006 16:09:26
>  > >     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>  > >     >     ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
>  > >     >
>  > >     >     Escrevi um Extenal Method que organiza cada linha em um
>  > >     >     dicionário, cada coluna dividida em seu respectivo campo. Por
>  > >     >     exemplo:
>  > >     >
>  > >     >     dict = {' campo1':'00000038', 'campo2':'06/06/2006',
>  > >     >     'campo3':'16:09:20',
>  > >     >
>  >  >     'campo4':'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','campo5':'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'}
>  > >     >
>  > >     >     Gostaria de inserir esses num container no ZODB, para poder
>  > >     exibir
>  > >     >     as informações de forma formatada.
>  > >     >
>  > >     >
>  > >     >     Alguém poderia me dar uma tranco para começar...
>  > >     >
>  > >     >
>  > >     ------------------------------------------------------------------------
>  > >     >     O Yahoo! está de cara nova. Venha conferir
>  > >      >
>  > >     <http://us.rd.yahoo.com/mail/br/tagline/spirit/*http://br.yahoo.com/preview >!
>  > >     >
>  > >     >
>  > >     >
>  > >     >
>  > >     >
>  > >     >------------------------------------------------------------------------
>  > >     >
>  > >     >No virus found in this incoming message.
>  > >     >Checked by AVG Free Edition.
>  > >     >Version: 7.1.394 / Virus Database: 268.10.1 /391 - Release Date:
>  > >     18/7/2006
>  > >     >
>  > >     >
>   > >
>  > >
>  > >
>  > >     --
>  > >     No virus found in this outgoing message.
>  > >     Checked by AVG Free Edition.
>  > >     Version: 7.1.394 / Virus Database: 268.10.1/391 - Release Date:
>  > >     18/7/2006
>  > >
>  > >
>  > > ------------------------------------------------------------------------
>  > > Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu
>  > > celular. Registre seu aparelho agora!
>  > > < http://us.rd.yahoo.com/mail/br/tagline/mobile_alerts/*http://br.mobile.yahoo.com/mailalertas/>
>  > >
>  > >
>  > >------------------------------------------------------------------------
>  > >
>  >  >No virus found in this incoming message.
>  > >Checked by AVG Free Edition.
>  > >Version: 7.1.394 / Virus Database: 268.10.1/391 - Release Date: 18/7/2006
>  > >
>  > >
>  >
>  >
>  >
>  > --
>  > No virus found in this outgoing message.
>  > Checked by AVG Free Edition.
>  > Version: 7.1.394 / Virus Database: 268.10.1/391 - Release Date: 18/7/2006
>  >
>  >
>  >
>  > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
>  > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
>  > Links do Yahoo! Grupos
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>    
>
>
>
>   ________________________________
  O Yahoo! está de cara nova. Venha conferir!
>
>  

__._,_.___

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




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

__,_._,___

Responder a