Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/09/2009, 11:53
Avatar de Marvin
Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Exportar ZODB

Ahhh muchas gracias razpeitia... mira esto es lo que llevo en el script python.
Código:
tipo = 'Anotacion'
resultados = context.portal_catalog.searchResults(Type=tipo, Creator=idusuario)

elementos = []
for brain in resultados:
   elementos.append((brain.Creator, brain.CreationDate, brain.ModificationDate, brain.Title, brain.review_state, brain.getResponsibleManager, brain.Description, brain.getIssueType, brain.getArea))
print '<registros>'
for a in elementos:
   print '<reg>'
   print '<rut>' + a[0] + '</rut>'
   print '<creacion>' + a[1] + '</creacion>'
   print '<modificado>' + a[2] + '</modificado>'
   print '<titulo>' + a[3] + '</titulo>'
   print '<revision>' + a[4] + '</revision>'
   print '<responsable>' + a[5] + '</responsable>'
   print '<descripcion>' + a[6] + '</descripcion>'
   print '<tipo>' + a[7] + '</tipo>'
   print '<area>' + a[8] + '</area>'
   print '</reg>'

print '</registros>'
return printed
Finalmente pude ordenar todo en un arreglo y luego enviarlo a la pantalla.

Ahora voy a hacer una instalacion de plone 2.5, python 2.5.4 y zope 2.1 en un servidor virtual para hacer pruebas de actualizacion.

Mi idea es poder llegar a Zope 2.11 al menos y phyton 3... ya que hay muchos mas productos para instalar algun SOAP y algun producto de XML.

Por ahora ya tengo los datos y solo me falta poder exportarlos a XML por un Webservice.

De todas maneras dejo la explicacion del codigo por si alguien la necesita
Código:
#tipo contiene el filtro para la busquead en catalog.
#idusuario es un parametro obtenido por URL GET
tipo = 'Anotacion'
resultados = context.portal_catalog.searchResults(Type=tipo, Creator=idusuario)

#arreglo de elementos que contendra la informacion buscada por searchResults
elementos = []
#ciclo for para revisar los resultados y agregarlos al arreglo
#utilizo brain por un consejo que me dieron ya que getObject() utiliza mas recursos de la maquina
for brain in resultados:
#los elementos de brain se encuentran en ZMI->portal_catalog->pestaña metadata
   elementos.append((brain.Creator, brain.CreationDate, brain.ModificationDate, brain.Title, brain.review_state, brain.getResponsibleManager, brain.Description, brain.getIssueType, brain.getArea))
#esto era una prueba para revisar si podia transformarlo directamente a xml
print '<registros>'
#ahora reviso el arreglo elementos para ordenar los datos a mi gusto
for a in elementos:
#lo relevante aca es a[numero] que es donde vienen los datos
   print '<reg>'
   print '<rut>' + a[0] + '</rut>'
   print '<creacion>' + a[1] + '</creacion>'
   print '<modificado>' + a[2] + '</modificado>'
   print '<titulo>' + a[3] + '</titulo>'
   print '<revision>' + a[4] + '</revision>'
   print '<responsable>' + a[5] + '</responsable>'
   print '<descripcion>' + a[6] + '</descripcion>'
   print '<tipo>' + a[7] + '</tipo>'
   print '<area>' + a[8] + '</area>'
   print '</reg>'

print '</registros>'
#devuelvo a pantalla todo lo que se ha quedado en print
return printed
Seguire buscando como instalar SOAP y algun producto de XML para agregar al zope

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Última edición por Marvin; 24/09/2009 a las 11:56 Razón: Dato extra