Página 1 de 2

[RESUELTO] Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 7:27 am
por mauricio
Hola a todos...

En varios lugares he leido del interes por crear extensiones para AOO/LibO, estas, si bien tienen una estructura sencilla, si tiene sus detalles que hay que tener en cuenta a la hora de desarrollarlas, entre todos podemos hacer esta tarea un poco menos pesada...

Adjunto al presente encontrarán una extensión con lo mínimo necesario para instalarse y probarse. Es la primera de una serie de extensiones de ejemplo que pretendo publicar y por supuesto enseñar a construir.

Si, Basic es muy sencillo, Python también lo es, pero es, sin exagerar, diez veces más versatil, rápido y poderoso, si están pensando en meterse al mundo de las extensiones, ni lo piensen, Python es la respuesta, de hecho, con Python podemos ayudar a los desarrolladores Basic, ya veremos como...

Por ahora, con tanta versión de AOO/LibO que ya tenemos, me interesa ver con que versiones funciona, agradeceré a quien la pueda probar en su sistema y notificarme en este hilo si funciona o no y que S.O. y versión usaron, aquí mis pruebas:

ArchLinux x64 | AOO 3.4.1 → OK
ArchLinux x64 | LibO 3.6.5 → OK
LinuxMint 14 x64 | LibO 3.5.2 → OK
openSUSE 12.2 x64 | AOO 3.4.1 → OK
Ubuntu 12.04 | LibO 3.5.7 → OK
W Vista SP2 | AOO 3.4.1 → OK
W Xp SP3 | AOO 3.4.1 → OK
Win 7 | AOO 3.4.1 → OK

Un abrazo...

EDICION: Plantilla actualizada para usarse SOLO con AOO 4
HolaMundo_AOO4.oxt.7z
(4.07 KiB) 144 veces

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 11:03 am
por Cascabel
¿Cómo sabemos si funciona? Quiero decir: salió el administrador de extensiones, pidió permiso y se instaló. ¿Y ahora, qué?
WXP+SP3 AOO3.4.1 AOO341m1(Build:9593) - Rev 1372282

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 3:42 pm
por SLV-es
Para comprobarlo, observa que ha creado una nueva entrada en el menú llamada "Hola Mundo". Ejecuta su opción "Saludar"

Windows Vista Business SP2 | AOO 3.4.1 = OK

Lo que no he podido encontrar es la librería ni módulo alguno. ¿Ocultos?

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 5:24 pm
por mauricio
Gracias, pense que se vería claramente el nuevo menú Hola Mundo y su submenú Saludar... perdon por no mencionarlo...

No, el código no esta oculto, solo que como esta en Python no lo ves desde el IDE, tienes que entrar a la carpeta de extensiones si quieres ver el código o descomprimir la extensión con lo que tienes una plantilla de extensión lista para modificar y empaquetar, tareas, que iremos viendo poco a poco...

Saludos...

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 9:18 pm
por Cascabel
Funcionó OK, entonces.
Pues, anda que no verlo...
En el mensaje anterior tienes SO y versión de AOO.
Gracias y adelante. Seguiré con interés este tema.
¿Dónde suele estar la carpeta de extensiones?

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 9:26 pm
por mauricio
En mis sistema aquí:
Código: Seleccionar todo   Expandir vistaContraer vista
/home/mau/.openoffice.org/3/user/uno_packages/cache/uno_packages

En tu sistema, dejame lo verifico...

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 10:34 pm
por Cascabel
Lo encontré por aquí:
Código: Seleccionar todo   Expandir vistaContraer vista
C:\Documents and Settings\usuario\Datos de programa\OpenOffice.org\3\user\uno_packages\cache\uno_packages

Re: Plantilla para extensión Python

NotaPublicado: Lun Abr 01, 2013 10:37 pm
por RGB-es
AOO 3.4.1 en openSUSE 12.2, 64 bits OK.

Luego pruebo en una versión de desarrollo de AOO 4.0 (está descargando).

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 12:52 am
por mauricio
No mi amigo, en AOO 4 ya lo probe, ahí si estan cambiando ya el API...

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 12:55 am
por RGB-es
mauricio escribió:No mi amigo, en AOO 4 ya lo probe, ahí si estan cambiando ya el API...

Es verdad, acabo de ver que no funciona... Hasta donde sé, se están cambiando los métodos para registrar barras de herramientas y botones, pero parece que hay más. Todo va a estar documentado a tiempo, ya avisaré si encuentro más información sobre los cambios.

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 1:07 am
por mauricio
La verdad es que con la instrospección con que cuenta el API, los cambios se pueden ir viendo en "directo", te cuento que ya tengo la versión de esta plantilla que funciona en AOO4, y muchas sorpresas más...

Un abrazo

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 4:22 am
por SLV-es
¿De donde nos podemos descargar la versión de desarrollo?

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 4:35 pm
por RMG
Hola Mauricio,

La prueba efectuada en Win7 y AOO 3.4.1 funciona perfectamente.

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 8:19 pm
por mauricio
Anotado, gracias...

Versiones de desarrollo: https://cwiki.apache.org/confluence/dis ... hot+Builds

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mar Abr 02, 2013 9:59 pm
por RGB-es
mauricio escribió:Versiones de desarrollo: https://cwiki.apache.org/confluence/dis ... hot+Builds

Esa versión no tiene los últimos cambios. Si eres realmente «aventurero», puedes probar el «build bot», un servicio que todos los días compila automáticamente el código fuente de la rama principal de desarrollo:

http://ci.apache.org/projects/openoffice/install/

Es muy experimental por lo que es fácil que se caiga, pero tiene lo último integrado en «trunk». Eso sí, el código de la «barra lateral» no ha sido aún integrado (se está desarrollando en una rama paralela), por lo que no verás grandes cambios en la interfaz gráfica... pero ya están madurando...

Saludos

Re: Plantilla para extensión Python

NotaPublicado: Mié Abr 03, 2013 2:50 pm
por xiseme
Probado en (de momento :mrgreen: )
openSUSE Tumbleweed=12.3 x64
- LibO 4.0.2 → ok
- AOO 3.4.1 → ok
openSUSE x64 12.3
- LibO Versión 3.6:build-304 (ID de compilación: 360m1(Build:304)) → ok
Ubuntu 12.04
- LibO 3.5.7 → ok
MSWindows XP-SP3
- LibO 3.6.2.1 → ok
- AOO 3.4.0 → no aparece
PCLinuxOS-2012 - LibO 3.6.3.2 → ok

En ArchLinux x64
- LibO Versión 4.0.1.2 (ID de compilación: 4.0.1.2 Arch Linux build-5) → no se muestra el menú
Al instalar la extensión da el siguiente aviso
Código: Seleccionar todo   Expandir vistaContraer vista
(com.sun.star.uno.RuntimeException) { { Message = "<class 'SyntaxError'>: invalid syntax (hola.py, line 28), traceback follows\X000a  /usr/lib/libreoffice/program/pythonloader.py:102 in function getModuleFromUrl() [codeobject = compile( src, encfile(filename), \"exec\" )]\X000a  /usr/lib/libreoffice/program/pythonloader.py:149 in function writeRegistryInfo() [mod = self.getModuleFromUrl( locationUrl )]\X000a\X000a", Context = (com.sun.star.uno.XInterface) @0 } }
Cierro y abro LibO la extensión aparece como instalada pero no se muestra el menú «hola-mundo»

Re: Plantilla para extensión Python

NotaPublicado: Vie Abr 12, 2013 5:49 am
por mauricio
no, en LibO 4 no funcionara por que ahí hicieron un cambio drastico, cambiaron el core de Python de 2.6 a 3.3, "casi" sin avisar...

Gracias por tanta pruebas...

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Lun Abr 22, 2013 5:59 am
por mauricio
Para los compañeros que estén interesados en las subsiguientes publicaciones del tema de macros con Python y, no conocen Python todavía, he terminado en el wiki los temas mínimos para poder continuar: http://wiki.openoffice.org/wiki/ES/Manu ... ros/Python
les recomiendo fehacientemente darle una mirada.

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Lun Abr 22, 2013 12:41 pm
por RMG
Mauricio, ahora sí me he propuesto aprender pythón, nos lo estas poniendo muy facil, así que me vas a tener como alumno. De momento ya me he instalado el IDLE (python) 2.7.3 para empezar.

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Lun Abr 22, 2013 3:37 pm
por mauricio
Bienvenido mi amigo y todos los interesados en aprender el maravilloso Python... si bien no es indispensable el IDLE, no esta de más...

Un abrazo...

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 1:45 am
por genitalico
Tendras un ejemplo donde se cree una ventana con menus y todo?
en pyhton, para empezar con ello.. saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 3:50 am
por mauricio
La siguiente extensión tiene menús: http://extensions.services.openoffice.org/project/MRI

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 4:43 pm
por RMG
Hola Mauricio,

Una duda que tengo, que diferencia hay entre estos enlaces y sobre cual debo basarme para obtener información e ir aprendiendo.

http://wiki.openoffice.org/wiki/ES/Manu ... ros/Python

http://wiki.openoffice.org/wiki/OOoES/D ... o/PyUNO_ES

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 4:51 pm
por mauricio
El primero es el bueno, el segundo lo escribi hace mucho tiempo... solo el primero se irá actualizando...

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 5:51 pm
por RMG
De acuerdo, gracias

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 9:01 pm
por RGB-es
¿Quizás habría que marcar la página vieja, dirigiendo a quien caiga allí por casualidad a la nueva?

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 9:38 pm
por mauricio
y... ¿eso como se hace?... ¿hay forma de hacerlo automáticamente o con un simple letrerote es suficiente?...

aunque pensansolo bien ya se puede borrar, ya no tiene nada a usarse...

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 9:45 pm
por RGB-es
Puedes utilizar una plantilla al principio del documento. Por ejemplo

Código: Seleccionar todo   Expandir vistaContraer vista
{{ES/AyudaWiki/Obsoleta|[[ES/Manuales/GuiaAOO/TemasAvanzados/Macros/Python|Python]]}}


pondrá un gran cartel de «página obsoleta» con un enlace a la nueva. Pero si quieres borrarla solo tienes que decirlo, que también tengo algunos privilegios en la wiki y un hacha bien afilada... :twisted:

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 10:19 pm
por mauricio
RGB-es escribió:Pero si quieres borrarla solo tienes que decirlo, que también tengo algunos privilegios en la wiki y un hacha bien afilada... :twisted:


Como va, borrrala, que todo será nuevo...

Saludos

Re: [RESUELTO] Plantilla para extensión Python

NotaPublicado: Mar Abr 23, 2013 11:41 pm
por RGB-es
Borrada, entonces ;)

Saludos