Página 1 de 6

EasyDev v2.7.2 [24-Abr-16]

Publicado: Mar Ago 18, 2015 6:39 am
por mauricio
Hola a todos...

EaseDev es una extensión para (poner en el orden que quieran):

- Se enamoren de Python
- Pongan el poder de Python al servicio de otros lenguajes
- Simplifiquen la programación de macros

Pueden descargarla desde: EasyDev v2.7.2

Aquí pueden ver la documentación:
Español: http://easydev.readthedocs.org/es/latest/
Ingles: http://easydev.readthedocs.org/en/latest/

Por favor, siempre lean lo cambios realizados: https://github.com/UniversoLibreMexicoA ... ELOG_ES.md

Como ayudar Un abrazo

Re: EasyDev

Publicado: Mar Ago 18, 2015 7:47 am
por PepeOooSevilla
Hola.
Lo primero "MUCHAS GRACIAS", así, en mayúsculas. Se te nota mucho que te gusta el lenguaje Python :D .
En algún tema de este Foro creo que comentaste que AOO no podía trabajar con las últimas versiones de Python, por eso, tu extensión sólo se ejecuta en LibreOffice, ¿cierto?
Y, para una persona que sólo ha programado en BASIC y que quisiera comenzar a aprender Python desde cero, ¿qué página web, manual, tutorial, ..., recomendarías? He buscado en internet pero tu recomendación me sería (nos sería) de mucha ayuda.
Muchos de nosotros comenzamos a programar OpenOffice con tu libro "Aprendiendo Ooo Basic". Y ahora, quizás, empecemos con Python, también gracias a ti.
De nuevo muchas gracias y saludos cordiales. :bravo: :bravo: :bravo:

Re: EasyDev

Publicado: Mar Ago 18, 2015 10:58 am
por SLV-es
Hola Pepe

¿Por qué no la wiki que está creando el propio Mauricio?: https://wiki.openoffice.org/wiki/ES/Man ... ros/Python

Saludos

Re: EasyDev

Publicado: Mar Ago 18, 2015 1:53 pm
por mauricio
PepeOooSevilla escribió:Se te nota mucho que te gusta el lenguaje Python :D .
Lo único que siento es no haber empezado con Python y no con Basic... :lol:
PepeOooSevilla escribió:En algún tema de este Foro creo que comentaste que AOO no podía trabajar con las últimas versiones de Python, por eso, tu extensión sólo se ejecuta en LibreOffice, ¿cierto?
Correcto, Python2 debe morir ya... OpenOffice esta tardando en muchas cosas, entre ellas, dar soporte a Python3, es posible hacer que funciones en Py2 pero... esperemos un poco a ver que se mueve en AOO...
PepeOooSevilla escribió:Y, para una persona que sólo ha programado en BASIC y que quisiera comenzar a aprender Python desde cero, ¿qué página web, manual, tutorial, ..., recomendarías?
El amigo Salva ya te paso el línk de nuestro wiki, ese esta bien si quieres trabajar sobre AOO/LibO, si quieres trabajar directamente en Python (algo que recomiendo mucho), prueba con:
Con este aprendí: http://mundogeek.net/tutorial-python/
Aquí cuando ya se domina un poco más: http://docs.python.org.ar/tutorial/
PepeOooSevilla escribió:Muchos de nosotros comenzamos a programar OpenOffice con tu libro "Aprendiendo Ooo Basic". Y ahora, quizás, empecemos con Python, también gracias a ti.
Esa es la idea mi amigo, si con Basic se pueden hacer muchas y buenas cosas, te sorprenderá lo que Python puede hacer... y ahora, tienen mi ayuda... :lol:

Un abrazo

Re: EasyDev

Publicado: Mié Ago 19, 2015 11:53 pm
por mauricio
Ahora podemos enviar correos fácilmente desde Basic...

Código: Seleccionar todo

	util = createUnoService("org.universolibre.EasyDev")
		
	server = createUnoStruct("org.universolibre.EasyDev.SmtpServer")
	message = createUnoStruct("org.universolibre.EasyDev.EmailMessage")
	
	server.Name = "smtp.gmail.com"
	server.User = "hipatia.blades@gmail.com"
	server.Password = "supersecret"
	server.Ssl = True

	temp = "Dear Madame: $name\n\nBest regards from $country"
	data = Array( _
		Array("name", "Teresa"), _
		Array("country", "México"), _
	)
	body = util.render(temp, data)

	message.To = "mauricio.baeza@correolibre.net"
	message.Subject = "Email test"
	message.Body = body	
	
	'Send mail and wait response
	result = util.sendMail(server, message)
	If result Then
		MsgBox "Send mail"
	Else
		MsgBox "Error send mail"
	End If
Agradeceré si pueden validar...

Gracias

Re: EasyDev v1.0.0

Publicado: Dom Ago 23, 2015 7:57 pm
por RASAPA
Buenos dias a todos,

Los datos e informacion del sistema...............funciona
El envio de mails......................................... funciona

Provado en Linux Mint 17.1 Cinnamon 64 i LibreOffice 4.4.5.2

En el tema de los emails, no he encontrado la forma de enviar con "CC" y "CCO" .
Ademas en el Body, le pongo el texto que hay en un TextField de un dialogo, que ya esta formateado y no me conserva los saltos de linea. Pone todo el texto en una sola linea.

Esta extension promete.

Voy a seguir provando las demas caracteristicas.
Muchas gracias.
Ramon :bravo: :bravo: :bravo: :bravo:

Re: EasyDev v1.0.0

Publicado: Lun Ago 24, 2015 2:20 am
por mauricio
Para enviar una copia, usa:

Código: Seleccionar todo

   mail = Array( _
      Array("to", "web@test.net"), _
      Array("cc", "correo1@test.net,correo2@test.net"), _
      Array("subject", "Correo de prueba"), _
      Array("body", "Mensaje de prueba") _
   )
Para el caso de "bcc", funciona, es decir, si agregar el campo, envía el correo a esa cuenta, pero no oculta la dirección para los otros, lo cual es incorrecto...

Verifico lo de los saltos de línea...

Gracias por probar...

Re: EasyDev v1.0.0

Publicado: Lun Ago 24, 2015 7:20 am
por mauricio
He arreglado lo de los saltos de linea...

Saludos

Re: EasyDev v1.3.0

Publicado: Dom Ago 30, 2015 5:01 pm
por arivas_2005
Saludos.

Intenté instalar la extensión EasyDev_v1.3.0.oxt en Libreoffice 4.3 sobre Puppy linux y me sale el siguient mensaje de error.
Cómo podría superarlo...

Gracias!

Re: EasyDev v1.3.0

Publicado: Dom Ago 30, 2015 7:11 pm
por RASAPA
Buenos dias Mauricio,

Verificado, los saltos de linea, funcionan bien.
El envio oculto, todavia no funciona.
Puede implementarse tambien la recepcion de mails ?

Saludos
Ramon

Re: EasyDev v1.3.0

Publicado: Dom Ago 30, 2015 10:41 pm
por mauricio
arivas_2005 escribió:Saludos.
Intenté instalar la extensión EasyDev_v1.3.0.oxt en Libreoffice 4.3 sobre Puppy linux y me sale el siguient mensaje de error.
Gracias!
Asegurate de que se descargue correctamente, he probado la descarga y esta correcta: https://github.com/UniversoLibreMexicoA ... v1.3.0.oxt

Saludos

Re: EasyDev v1.3.0

Publicado: Dom Ago 30, 2015 10:47 pm
por mauricio
RASAPA escribió:El envio oculto, todavia no funciona.
 Editado: No he encontrado como agregar la respectiva cabecera para que funcione, sigo investigando... 

Arreglado en 1.3.1
RASAPA escribió:Puede implementarse tambien la recepcion de mails ?
Si, pero esto puede tener infinidad de variantes... haremos unas pruebas de concepto para irlas explorando...

Saludos

Re: EasyDev v1.3.1

Publicado: Dom Sep 27, 2015 11:18 pm
por Ari7980
Muchas gracias estoy seguro de que me servirá mucho

Re: EasyDev v1.3.1

Publicado: Mié Oct 07, 2015 6:34 am
por RASAPA
Buenos dias Mauricio,

He probado todas las ordenes de la primera parte que hay en la documentacion, hasta DEPURAR, y funcionan muy bien.
Hay muchas que son realmente buenas y utiles.
Solo un comentario con la orden util.openDoc(). En el segundo parametro no me acepta los parentesis, me da error 'No se esperava el simbolo )', he tenido que crear una variable mVar() y sustituir los'()' finales, por la 'mVar'

Una cosa mas, en la documentacion dices que se implementa la exportacion a CSV, y no veo ningun ejemplo de su utilizacion.

Muchas gracias.
Ramon

Re: EasyDev v1.3.1

Publicado: Mié Oct 07, 2015 8:33 pm
por mauricio
Hola Ramon...

Muchas gracias por probar... estoy por publicar la versión 2 de esta extensión con muchas mejoras... y por supuesto la documentación necesaria para la exportación a CSV...

Ahora reviso lo que mencionas del método openDoc...

Saludos

Re: EasyDev v1.3.1

Publicado: Sab Oct 24, 2015 9:24 pm
por mauricio
Hola...

Estoy por publicar EasyDev 2, las partes que he casi reescrito ahora tienen todos ejemplos listos para probarse, claro, solo hay que adaptar las rutas donde corresponda y otros datos...
https://github.com/UniversoLibreMexicoA ... v2.0.0.oxt

Aquí ya pueden ver un ejemplo de exportar a CSV...
foro.png
Ojala puedan validar...

Saludos

Re: EasyDev Dev v2.0.0

Publicado: Lun Oct 26, 2015 8:37 am
por mauricio
He terminado de revisar todos los cambios para la versión 2 que son bastantes. Entre ellos.

- Ahora se dispone de un timer para ejecutar macros cada X segundos...
- He reescrito el envio de correo, ahora se usan estructuras para los datos del servidor y del mensaje.
- Ahora puedes guardar los mensajes enviados en una ruta.
- Ahora puedes enviar correos en otro hilo de ejecución, o sea, desatendida.
- He agregado varios métodos muy interesantes para manejar matrices
- Junto con la extensión, se instala una librería llena de ejemplos.

Agradeceré a quien pueda validar: https://github.com/UniversoLibreMexicoA ... v2.0.0.oxt

Si no hay errores, la pasaré a producción esta semana.

Un abrazo

Re: EasyDev v1.3.1

Publicado: Mié Oct 28, 2015 5:58 am
por mauricio
He agregado el soporte para controles que solo se pueden agregar por código, así como crear un dialogo desde un archivo, pueden diseñarlo en el editor, exportarlo, y llamar a este archivo.
foro.png

Código: Seleccionar todo

	util = createUnoService("org.universolibre.EasyDev")

	path = "/home/mau/test/dlg_input_box.xdl"
	dlg = util.createDialog(path)
(1) Puedes agregar una etiqueta que sea un hipervinculo.

Código: Seleccionar todo

	properties = Array( _
		Array("Name", "link_home"), _
		Array("PositionX", 100), _
		Array("PositionY", 10), _
		Array("URL", "http://universolibre.org"), _
		Array("Label", "http://universolibre.org"), _
	)
    util.createControl(dlg, "FixedHyperlink", properties)
(2) Un menú de opciones, al dar click en cada opción el control actualiza la propiedad Step del dialogo, con lo que tenemos diálogos multipágina de forma sencilla.

Código: Seleccionar todo

	options = Array("Init", "Values", "Config", "Other")
	properties = Array( _
		Array("Name", "roadmap"), _
		Array("Width", 50), _
		Array("Height", 150), _
		Array("Options", options), _
	)
	util.createControl(dlg, "Roadmap", properties)
(3) Crear un grid

Código: Seleccionar todo

	c1 = Array( _
		Array("Title", "State"), _
		Array("HorizontalAlign", 0), _
	)
	c2 = Array( _
		Array("Title", "People"), _
		Array("HorizontalAlign", 2), _
		Array("Identifier", True), _
	)	
	columns = Array(c1, c2)
	properties = Array( _
		Array("Name", "grid"), _
		Array("PositionX", 100), _
		Array("PositionY", 50), _
		Array("Step", 4), _
		Array("Columns", columns), _
	)
	grid = util.createControl(dlg, "Grid", properties)	
Y llenarlo con datos de celdas...

Código: Seleccionar todo

	data = ThisComponent.getCurrentSelection().getDataarray()
	col_format = Array()
	util.setGridData(grid, data, col_format)]
Recuperar todos los datos del grid.

Código: Seleccionar todo

	data = util.getGridData(grid, Array())
	util.msgbox(data)
Entre otras monerías...

Agradeceré mucho a quien pueda probar...

Un abrazo

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 1:17 am
por mauricio
He creado una rama con soporte para OpenOffice, parece que funciona bien pero necesitaría manos para validar.

Descargar EasyDev v2.0.0 para Apache OpenOffice.

La documentación es exactamente la misma.

Saludos

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 6:53 pm
por RMG
Mauricio, al intentar la instalación me ha dado este error.

Saludos

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 7:01 pm
por mauricio
Tienes varias versiones de la extensión en tu directorio de descargas (lo veo desdes aquí, jejejejeje)...

Asegurate de que NO se renombre la extensión cuando la descargas... generalmente los navegadores le agregan un número (1 en tu caso), al nombre del archivo...

Gracias por probar

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 7:13 pm
por RMG
Era eso, al hacer la descarga se renombró con el v2.0.0(1).

Ya te digo algo.

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 8:16 pm
por RASAPA
Buenos dias Mauricio,

He instalado la version 2 sin problemas.
He adaptado la variable util, ya que has cambiado su valor
He provado la nueva version de mails y funciona perfectamente. Mucho mas sencillo
De todas fromas tengo unas dudas.
1- Que pasa se me dicen que el correo tiene que enviarse TLS y no por Ssl ?
2- Y si es un puerto diferente (por ejemplo hay 25, 587....)

Voy a provar la exportacion a CSV, pero lo que me hacia falta era exportar a CSV el resultado de una SQL de Base, se puede hacer ?
Muchas gracias por tus aportaciones.

Saludos
Ramon

Re: EasyDev v2.0.0

Publicado: Sab Oct 31, 2015 8:56 pm
por mauricio
Gracias por probar...

1.- Tengo entendido que TLS y SSL es lo mismo a nivel identificación... es decir, se aplica el mismo parámetro, de hecho el método interno de Python se llama starttls por lo que creo que debe de funcionar.

Código: Seleccionar todo

        if server.Ssl:
            smtp.ehlo()
            smtp.starttls()
            smtp.ehlo()
2.- Solo establecelo en la estructura de los datos del servidor.

Código: Seleccionar todo

server.Port = 587
3.- Si devuelves el resultado o conviertes el resultado de la consulta SQL en un array, simplemente lo pasas y debe de exportarlo

Código: Seleccionar todo

	util.exportCSV(path, data, options)
Estoy agregando métodos para trabajar con bases de datos, el método que se me ocurre como primera instancia sería:

Código: Seleccionar todo

util.queryToCSV(sql, path, options)
Saludos

Re: EasyDev v2.0.0

Publicado: Dom Nov 01, 2015 4:26 am
por RASAPA
Buenos dias Mauricio,

Efectivamente, traspasando los resultados de la Sql a un Array, con

Código: Seleccionar todo

 util.exportCSV(path, data, options)
se genera el CSV.

A veces las cosa mas elementales, se nos pasan por alto.

La exportacion a Csv, tanto desde una hoja de calculo, como con una sentencia SQL, funcionan perfectamente.

Muchas gracias.

Saludos
Ramon

PD. por cierto, estoy utilizando mucho las funciones del EasyDev, con esta version de LibreOffice funciona, pero si canvian las versiones, nos podemos encontrar que algun dia no funcionen?
O como se trata de Python, siempre funcionaran en LibreOffice??
Nos podemos encontrar de aqui algunos años que tengamos que reprogramar el programa??

Saludos

Re: EasyDev v2.0.0

Publicado: Dom Nov 01, 2015 8:33 am
por RMG
Hola Mauricio, no se porque no puedo cambiar tu ruta /home/mauricio..... Por que lo obtengo muchos errores, no se si hago las pruebas bien, ejecuto las macros desde herramientas-macros-ejecutar macro.

Saludos

Re: EasyDev v2.0.0

Publicado: Dom Nov 01, 2015 3:05 pm
por mauricio
RASAPA escribió:Efectivamente, traspasando los resultados de la Sql a un Array, se genera el CSV.
y ahora es posible regresar un array directamente desde una consulta SQL de una conexión ODBC que he probado con MySQL, PostgreSQL y SQLite, esto esta en la versión de desarrollo, mira aquí: http://easydev.readthedocs.org/en/devel ... html#query
RASAPA escribió:Estoy utilizando mucho las funciones del EasyDev, con esta version de LibreOffice funciona, pero si canvian las versiones, nos podemos encontrar que algun dia no funcionen? O como se trata de Python, siempre funcionaran en LibreOffice??Nos podemos encontrar de aqui algunos años que tengamos que reprogramar el programa??
Son varias preguntas:

Si, es posible que con el tiempo algunas cosas de dejen de funcionar, pero para eso tendré muy atentos a mis usuarios para reportarlo inmediatamente y arreglarlo de nuevo.

La versión de Python dependerá siempre de la que incorpore LibreOffice, y esta casi siempre es una muy estable, por lo que si se rompe un código, seguramente será más en los cambios del API de LibreOffice que de Python, pero de nuevo, solo es cuestión de que estemos atentos a estos cambios para hacerlos compatibles.

Las ideas de EasyDev son varias, pero principalmente tres, este es mi orden pero ponganlas en el que quieran, ya las menciones en mi primer hilo pero son importantes que las tengan presentes:
  • Usen Python en vez de otros lenguajes
  • Disponer de características solo presentes en Python en otros lenguajes
  • Simplificar la programación en otros lenguajes
Con esto en mente, podemos fácilmente formar una comunidad de usuarios alrededor de EasyDev y por supuesto integrada a nuestros queridos foros, voy a editar el primer tema para agregar una sección de como colaborar.

Gracias por probar y usar EasyDev. Un abrazo

Re: EasyDev v2.0.0

Publicado: Dom Nov 01, 2015 3:16 pm
por mauricio
RMG escribió:Hola Mauricio, no se porque no puedo cambiar tu ruta /home/mauricio..... Por que lo obtengo muchos errores, no se si hago las pruebas bien, ejecuto las macros desde herramientas-macros-ejecutar macro.
La librería que integra EasyDev es de solo lectura, la idea es que solo sirva como consulta y referencia, tienes que copiar las macros a cualquier librería que puedas editar.

Saludos

Re: EasyDev v2.0.0

Publicado: Lun Nov 02, 2015 5:34 pm
por RMG
Hola Mauricio, he detectado esta "u" que sale antes de los nombres, te adjunto la imagen. Tambien decirte que en algunos casos no me funciona, creo que es por el tipo de SO y la ruta que aunque lo he copiado a una libreria nueva y modificado esta da errores.

Una sugerencia por si es posible de hacer, puesto que se puede detectar el SO decirle que si detecta Win la ruta sea por ejemplo C:\mau\ y si no, la que tienes ahora /home/mau. Así simplemente creando una carpeta "mau" en C: sería suficiente en vez de copiar las macros.

Saludos

Re: EasyDev v2.0.0

Publicado: Lun Nov 02, 2015 5:41 pm
por mauricio
Gracias por probar...

Eso ya esta implementado, tu pasas rutas normales de tu sistema operativo y el sistema pasa a la que se requiera, tanto de ida como de vuelta...

Debe de funcionar en todos los casos, pero debes de ser muy preciso de decirme donde no para verificarlo y corregirlo.

Lo de las "u", significa que son unicode, supongo que lo probaste en AOO y Win, ¿es correcto?

Saludos