martes, 29 de enero de 2008

Crear imágenes en plone de forma programática

Partiendo de que tenemos una carpeta "imagenes" en nuestro plone site creamos de forma programática una carpeta Banners y agregamos una imagen "baner_01.jpg" que pondremos dentro del directorio import del zinstance en nuestro filesystem

#localiza el Folder imagenes en la raiz del portal
imagens = getattr(portal, 'imagenes', None)
#crea un nuevo Folder en su interior para contener los banners
imagens.invokeFactory('Folder', id='banners', title='Banners')
imgban = getattr(imagens, 'banners', None)
#crea una imagen dentro del Folder banners
imgban.invokeFactory('Image', id='banner_01.jpg', title='Mi super Banner 01')
newImage = getattr(imgban, 'banner_01.jpg')
#lee el contenido binario de la imagen desde el fs
newImage.edit(file=file(INSTANCE_HOME+'/import/banner_01.jpg').read())
#si se creó con éxito pone la imagen como publicada
if newImage is not None:
portal_workflow.doActionFor(newImage, 'publish')

jueves, 10 de enero de 2008

Cambiar formatos de imagenes

Dentro de la suit imagemagick tenemos el convert que nos permite hacer muchos cambios, entre ellos el de cambio de formato, pero el mogrify una vez más nos permite hacerlo de una manera bastante sencilla.
Por ejemplo para convertir un conjunto de imágenes png en jpg (convertir de png a jpg)
mogrify -format png *.jpg