Obrigada pela iniciativa, Rudá!

No caso abaixo não alterei a data de publicação *mesmo* (raiz.invokeFactory...).
Me desculpa se fiz entender isso. Só dei um exemplo de criação de um objeto, no 
caso uma pasta, via script python.

O que eu queria, e consegui com a ajuda do Déo off_lista_zope-pt (thanks de 
novo :) ), é editar a data da última modificação para um objeto específico já 
migrado de outro Portal. Então fica a solução para quem precisar:

obj = context.Portal.noticias.informativos['testando']
obj.setModificationDate('2006-05-03 08:20:55')
obj.reindexObject(idxs=['modified']) #ler observação abaixo
return 'ok'

# Dado importante: Este reindexObject, por padrão, também altera a data da
# modificação, caso nenhum parâmetro seja passado para ele. Por isso não
# conseguiria alterar o campo nunca sem "idxs=['modified']"! Ele setava a 
# data fixa que coloquei, depois atualizava com a data atual :/

Até a próxima,
Tânia Andrea

Ruda Filgueiras <[EMAIL PROTECTED]> escreveu:                                  
On 5/24/07, Tania Andrea <[EMAIL PROTECTED]> wrote:
 >
 >
 >
 >
 >
 >
 > PessoALL,
 >
 > Como faço para alterar a data de publicação de um objeto específico, via 
 > script python?
 >
 > Para criar é algo assim:
 > raiz = context.portal_url.getPortalObject()
 > raiz.invokeFactory('Folder', institucional, title='Institucional', 
 > description='Pasta com conteúdo institucional')
 >
 > E para editar um objeto criado anteriormente?
 
 No caso acima, você não alterou a data de publicação. ;-(
 Para isso temo o métdo "setEffectiveDate" ou seja, o workflow muda
 essa data no momento em que o item é publicado e serve para controlar
 se o conteúdo já está pronto para ser exibido.
 
 Em relação a outros objetos, é a mesma coisa, mas você tem que acessar
 o objeto de alguma forma, via portal_catalog ou o método objectValues
 de uma pasta. O recomendáve é usar o portal_catalog sempre que
 possível.
 
 -- 
 Rudá Porto Filgueiras
 Weimar Consultoria
 
 Hospedagem Plone, Zope e Python?
 http://www.pytown.com
 
     
                       

 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

Responder a