python y sockets

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Satsuki
Mensajes: 32
Registrado: Mar Sep 15, 2009 5:07 pm

python y sockets

Mensaje por Satsuki »

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
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: python y sockets

Mensaje por mauricio »

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: http://user.services.openoffice.org/es/ ... =50&t=2024 Procura darle seguimiento a tus preguntas.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Satsuki
Mensajes: 32
Registrado: Mar Sep 15, 2009 5:07 pm

Re: python y sockets

Mensaje por Satsuki »

He encontrado esto en un foro en inglés

Código: Seleccionar todo

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
FJCC-ES
Mensajes: 915
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: python y sockets

Mensaje por FJCC-ES »

Creo que “ejecutar manualmente” significa ejecutar la macro usando Herramienta → Macros → Organizar Macros → Python. El autor quería ejecutar la macro usando XModifyListener.
Satsuki
Mensajes: 32
Registrado: Mar Sep 15, 2009 5:07 pm

Re: python y sockets

Mensaje por Satsuki »

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
Responder