python y sockets

Desarrollo de Macros y programación en UNO. Envíen ejemplos de como crear cosas con OpenOffice.org programáticamente.

python y sockets

Notapor Satsuki » Mié Oct 28, 2009 12:51 pm

Estoy realizando el proyecto de final de carrera, en el cual tengo que realizar consultas a google para comprobar el número de coincidencias de una palabra o un conjunto de palabras, para de esta manera comprobar si el texto seleccionado está bien escrito. La aplicación openoffice está en el cliente, mientras que el código para la consulta de google está en otro ordenador, así que realizo una conexión cliente-servidor en python. Por ahora que conseguido hacer una parte del programa. He programado un cliente-servidor, de manera que el cliente envia un texto, el servidor lo pasa como parámetro a un código, se realiza la consulta en google y devuelve al cliente el número de coincidencias.

El problema lo tengo con la parte de vincular el cliente con openoffice. Una alternativa es programar en un script python la selección de texto, dividirlo en palabras, y crear el cliente para enviar los datos al servidor. Las nociones que tengo de sockets son muy simples, y para ejecutar tanto el cliente como el servidor normalmente tecleo en el terminal de linux python cliente.py o python servidor.py. El problema que tengo es integrar el código python que tengo del cliente con código que se utiliza para scripts de openoffice.
¿Hay algo o es posible trabajar con sockets python en openoffice?

O sino, no se si sería posible, realizar en un script python las tareas que se necesitan para openoffice (en este caso obtener el texto seleccionado con el ratón y luego dividirlo en partes) y enviar luego esta información a un script python desvinculado del openoffice. Algo así como un script para realizar las tareas del texto y otro para realizar la conexión al cliente.
OpenOffice 3.1.0 en Ubuntu 8.04
Satsuki
 
Mensajes: 22
Registrado: Mar Sep 15, 2009 11:07 am

Re: python y sockets

Notapor mauricio » Mié Oct 28, 2009 10:32 pm

Hola...

Tanto Python como OOo, están pensados y preparados completamente para trabajar en red, me gustaría ayudarte más pero mi dominio de Python aun es muy pobre, en los siguiente vínculos hay varios ejemplos de como conectarte a un OOo de forma remota, checalos...

http://www.devshed.com/c/a/Python/Pytho ... Officeorg/
http://wiki.services.openoffice.org/wiki/PyUNO_bridge
http://codesnippets.services.openoffice ... aPipe.snip
http://stuvel.eu/ooo-python

Este PDF esta en español y es bastante ilustrativo
http://www.linux-magazine.es/issue/17/PythonUNO.pdf

Para tu pregunta
obtener el texto seleccionado con el ratón

Se te respondió en el hilo anterior que abriste: viewtopic.php?f=50&t=2024 Procura darle seguimiento a tus preguntas.

Saludos
______________________________________
Todo lo que no es dado es perdido
"Todo cuanto no podemos dar nos posee". - André Gide
OpenOffice.org 3.1.1 en ArchLinux con Gnome
No respondo preguntas privadas de OOo, por favor, usa el foro para esto
Avatar de Usuario
mauricio
 
Mensajes: 249
Registrado: Vie Nov 21, 2008 11:36 pm
Ubicación: México, D.F.

Re: python y sockets

Notapor Satsuki » Mar Nov 03, 2009 1:41 pm

He encontrado esto en un foro en inglés

Código: Seleccionar todo   Expandir vistaContraer vista
import uno

from socket import *


server = '127.0.0.1'

port = 1210

message = 'GET_SAT %s\n'


def get_Sat(Oevent):

    document = XSCRIPTCONTEXT.getDocument()

    sheets = document.getSheets()

    sheet = sheets.getByIndex(0)

    cell = sheet.getCellByPosition(0,0)
       

    s = socket(AF_INET, SOCK_DGRAM)

    s.connect((server, port))

    s.send(message % cell.getString())

    answer = s.recv(1024)

    s.close()


    x = 2

    for line in answer.splitlines():

        sheet.getCellByPosition(0,x).setString(line)

        x += 1


g_exportedScripts = get_Sat,


El autor decía que lo ejecutaba manualmente, ¿como podría hacerlo?

Gracias
OpenOffice 3.1.0 en Ubuntu 8.04
Satsuki
 
Mensajes: 22
Registrado: Mar Sep 15, 2009 11:07 am

Re: python y sockets

Notapor FJCC-ES » Mié Nov 04, 2009 2:52 pm

Creo que “ejecutar manualmente” significa ejecutar la macro usando Herramienta → Macros → Organizar Macros → Python. El autor quería ejecutar la macro usando XModifyListener.
FJCC-ES
 
Mensajes: 121
Registrado: Mar Mar 24, 2009 7:19 pm

Re: python y sockets

Notapor Satsuki » Jue Nov 05, 2009 9:25 am

Eso había visto en el foro de inglés... ¿este código solo funcionaria en excel? ¿Para que serviría? Lo siento por mi ignorancia, pero hace poco empecé a ver esto y aún estoy bastante perdida.

Gracias
OpenOffice 3.1.0 en Ubuntu 8.04
Satsuki
 
Mensajes: 22
Registrado: Mar Sep 15, 2009 11:07 am


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 1 invitado