On 10/17/05, Rodrigo Dias Arruda Senra <[EMAIL PROTECTED]> wrote:
> Obrigado pela correção Xiru, mas não sei se eu entendi corretamente
> o que deveria ser feito.
>
> Voce poderia corrigir o código abaixo demonstrando o uso correto do Brains
> para obter o mesmo efeito ?

"Brain" é o nome infeliz dos registros retornados pelo Catalog,
representados pela variável i no seu código, Senra. Quando dou aulas,
eu chamo os "brains" de "registros catalográficos" para deixar claro
que eles não são objetos de conteúdo, mas apenas representações
resumidas deles (assim como um registro bibliográfico não é um livro,
mas apenas uma representação resumida dele).

O que o Xiru disse é que a sua solução é muito cara porque ao chamar
i.getObject() você está acessando o objeto de conteúdo em si, ou
"acordando-o" (waking it up como dizem os zopistas gringos), e
portanto consumindo muita memória, especialmente se o seu código
percorre recursivamente todas a pastas do site.

O ideal é tentar sempre que possível limitar os resultados das
consultas ao catalog, usando apenas os índices e o os metadados dos
registros catalográficos. Por isso vale estudar e aprender a usar bem
o portal_catalog, e um bom começo é o capítulo sobre o Catalog no Zope
Book.

[ ]s
Luciano


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