Em 30 de abril de 2010 11:13, sidornel...@rocketmail.com
<sidornel...@gmail.com> escreveu:
> olá galera,
>
> criei uma propriedade (property) em todas as pastas (são + de 100) que estao 
> em um diretorio (/portal/escolas/) mas preciso mudar o valor da propriedade 
> (css_pasta) que eu criei, algumas pastas foram setadas como:
>
> propriedade css_pasta com o valor "css_2"
>
> e outras como:
>
> propriedade css_pasta com o valor "css_escola"
>
> eu preciso modificar ambos valores pra outros valores, como faço um script 
> que modifica, sendo que as que possuem valor "css_2" recabam um "valorA" por 
> exemplo, e as que possuem o valor "css_escola" recebam um "valorB".
>
>

Utilize o método manage_changeProperties(**kw) para alterar as
propriedades das pastas.

Exemplo de código não testado:

for pasta in context.escolas.objectValues('Folder'):
    css_pasta = pasta.getProperty('css_pasta')
    if css_pasta == 'css2':
        pasta.manage_changeProperties({'css_pasta', 'novo_valor'})
    if css_pasta == 'css_escola':
        pasta.manage_changeProperties({'css_pasta', 'novo_valor_escola'})

Isto, é claro, se as pastas criadas forem objetos Folder comuns do Zope.

Zénrique.

Responder a