[Zope-es] Editar documento desde script python

Gaspar Quiles quiles_gas en gva.es
Jue Mayo 15 08:06:59 CEST 2008


Hola,

yo en su dia use lo siguiente para cambiar la codificacion de los 
documentos:

from Products.CMFCore.utils import getToolByName
desde = 'latin-1'
hasta = 'utf-8'
cattool = getToolByName(context, 'portal_catalog')
for o in cattool.searchResults():
	obj = o.getObject()
	if not obj:
	   continue
	meta = 1
	descrip = 1
	modif = obj.ModificationDate()
	tipo = obj.portal_type
	print obj.absolute_url()
	if tipo in ['Document','News Item','Discussion Item',]:
	   cuerpo = obj.EditableBody().decode(desde)
	   obj.edit(text_format=obj.text_format, text = cuerpo.encode(hasta))

En tu caso, si filtras en searchResults por 'path=<ruta a tu documento>' 
deberia funcionarte.

un saludo

Santiago Videla escribió:
> Buenas
> 
> 2008/5/14 tono <josedavid18 en hotmail.com <mailto:josedavid18 en hotmail.com>>:
> 
>     Hola de nuevo. Estoy intentando crear un script python para crear un
>     nuevo documento dentro de una carpeta de mi sistema
>     que se llama "matriculas". El código que utilizo (y que funciona
>     bien, es el siguiente):
>      
>     # Creando un documento
>     documento = context.matriculas.invokeFactory('Document', codigo)
>      
> 
> 
> la variable 'documento' tiene como valor el id de la instancia que creas 
> con invokeFactory. Asique es un string, de ahi el error de setText
> 
> creo que si haces algo como (no lo probe)
> 
> doc = context.matriculas[documento]
> doc.setText(variable)
> 
> pueda que ande, quizas necesite algun retoque
> 
> suerte
>  
> 
>     Mi intención ahora es editar el cuerpo del documento para que me
>     aparezcan en el propio documento la información que
>     tengo recogida en varias variables:
>      
>     codigo='2c'
>     alumno='José David Vela'
>     dni='30963164N'
>     importe='50'
>      
>     he intentado algo como esto:
>      
> 
>     documento.edit(text_format='html', text=alumno o cualquiera de las variables anteriores)
> 
>      
> 
>     pero evidentemente no funciona. 
> 
>      
> 
>     ¿me podría orientar alguien? Un saludo y gracias.
> 
> 
>     _______________________________________________
>     Zope-es mailing list
>     Zope-es en aditel.org <mailto:Zope-es en aditel.org>
>     http://listas.aditel.org/listinfo/zope-es
> 
> 
> 
> 
> -- 
> Santiago Videla
> www.revolucionesweb.com.ar <http://www.revolucionesweb.com.ar>
> http://www.linkedin.com/in/svidela
> 
> Sigue la mata dando de que hablar siempre abajo y a la izquierda donde 
> el pensamiento que se hace corazón resplandece con la palabra sencilla y 
> humilde que l en s tod en s somos.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Zope-es mailing list
> Zope-es en aditel.org
> http://listas.aditel.org/listinfo/zope-es



Más información sobre la lista de distribución Zope-es