Foros del Web » Programando para Internet » Python »

Exportar ZODB

Estas en el tema de Exportar ZODB en el foro de Python en Foros del Web. Hola gente, soy nuevo por estos lados ya que mi fuerte es php. Quisiera saber si existe alguna manera de crear un script que exporte ...
  #1 (permalink)  
Antiguo 14/09/2009, 15:42
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Exportar ZODB

Hola gente, soy nuevo por estos lados ya que mi fuerte es php.

Quisiera saber si existe alguna manera de crear un script que exporte los datos de ZODB a cualquier cosa... incluso a un cvs o txt me sirve.

Por ahora prefiero hacer eso a tener que instalar SOAP y crear los fuentes para conectar todo con un webservice... (creo que seria mas rapido sin saber mucho)

Bueno, eso...

Gracias!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #2 (permalink)  
Antiguo 15/09/2009, 10:40
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Exportar ZODB

No es que haya trabajado con ZODB, pero una búsqueda devuelve esto:

http://mail.python.org/pipermail/pyt...ne/326326.html

Quizás te sirva (y si no, pregunta de nuevo).


Saludos.
  #3 (permalink)  
Antiguo 15/09/2009, 14:48
Avatar de 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

Okales... lo revisare y les cuento como keda.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 21/09/2009, 10:26
Avatar de 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

Finalmente revise toda documentacion que pude en la web y en la pag. oficial y basicamente ZODB viene con todo lo que se ha hecho dentro del sistema desde una modificacion hasta los eventos dentro del mismo... cosa que en terminos de base de datos seria una cantidad de datos asquerosamente gigante y sin mucho fin para lo que necesito... ahora estoy armando un script para poder consumirlo a traves de un webservice y evitarme "Ordenar" los datos de manera logica.

Gracias por todo y sigo por este camino!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 22/09/2009, 14:03
Avatar de 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

Bueno... sigo investigando sobre el tema y llegue a la conclusion que puede ser mucho mas rapido generar un script python sobre zope para sacar la informacion que necesito.

En este sentido necesito saber 2 cosas dado el siguiente requerimiento: Sacar nombre, apellido, telefono y direccion dado 1 rut.

1.- Es posible hacer una busqueda de este tipo con las herramientas propias de python 2.5?
2.- Es posible generar un xml que me entregue todos estos datos?

Muchas gracias nuevamente!.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 22/09/2009, 18:12
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Exportar ZODB

1.- Es posible hacer una busqueda de este tipo con las herramientas propias de python 2.5?
A que te refieres con esto? buscar dentro de una lista?
O te refieres a hacer una busqueda en la base de datos.

2.- Es posible generar un xml que me entregue todos estos datos?
Claro que si para eso esta el minidom igual y puedes ver algunos buscando en google.
  #7 (permalink)  
Antiguo 23/09/2009, 07:52
Avatar de 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

Hola razpeitia,

Mi intencion con la pregunta 1.- es poder hacer una busqueda con ciertos campos que estan en la ZODB pero aun no he podido conseguir que me muestre todos los datos mira este es mi codigo:
Código:
#devuelve titulo, area, tipo, urgencia, responsable, estado, fecha registro, 
#fecha expiracion, creado por, plazo respuesta dado un rut
tipo = 'Anotacion'
resultados = context.portal_catalog.searchResults(Type=tipo, Creator=idusuario)

elementos = []
for brain in resultados:
   elementos.append((brain.getObject().Description(), brain.getObject().getIssueType(), brain.getObject().getArea(), brain.getObject().getSeverity()))

#esto deberia salir en XML
return elementos
Y si te fijas en el encabezado, he puesto las cosas que necesito, pero no he encontrado un diccionario de datos o algun lugar donde encuentre los brain.getObject().LO QUE NECESITO ()

Imaginate que hasta ahora logre sacar los datos que estan ahi por intuicion.

Por otro lado, cualquier dato que pueda necesitar es posible sacarlo directamente de un searchResults() o es necesario hacer varias busquedas para luego unir todos los datos?

Gracias!

Otra cosa!... cuando saco Description() los textos me salen truncados, existe una manera de evitar esto?
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Última edición por Marvin; 23/09/2009 a las 08:02 Razón: Agregar informacion!
  #8 (permalink)  
Antiguo 24/09/2009, 11:33
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Exportar ZODB

Marvin:
No he trabajado con zodb, aun asi me tome el tiempo para leer un poco y comprender que estabas tratando de hacer. Ahora veo que estas usando Zcalatog o Catalog para hacer búsquedas.

Lo único que encontré que espero que te pueda ayudar es este mini-tutorial de zcalatog
  #9 (permalink)  
Antiguo 24/09/2009, 11:53
Avatar de 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:06.