[Linux-bruxelles] OOo et python sur debian etch

Jean-Charles de Longueville Jean-Charles at de-Longueville.eu
Dim 30 Mar 17:15:09 CEST 2008


On Sun, March 30, 2008 4:10 pm, Laurent Léonard wrote:
> Le dimanche 30 mars 2008 à 12:39, Jean-Charles de Longueville a écrit :
>> Bonjour,
>>
>> j'essaie en vain d'ouvrir un document avec OOo depuis un script python.
>> Pourtant j'ai pas mal googlé sur je sujet et je pense que mon code est
>> correct. Malgré cela je reçois toujours l'exception:
>>
>> Unexpected ERROR:
>>  Error Type:  __main__.com.sun.star.lang.IllegalArgumentException
>>  Error Value:  URL seems to be an unsupported one.
>>  Traceback:  [('/var/www/test.py', 25, '?', 'doc =
>> desktop.loadComponentFromURL(url, "_blank", 0, tuple(properties))')]
>>
>> Serait-ce lié au packaging de la debian (etch)?
>>
>> Comment avoir des traces de ce qui se passe? (je ne vois rien dans les logs
>> habituels)
>> --
>> Cordialement,
>> Jean-Charles
>>
>> =CODE=
>> ======
>>
>>         context = uno.getComponentContext()
>>
>> resolver=context.ServiceManager.createInstanceWithContext("com.sun.star.bri
>>dge.UnoUrlResolver", context)
>>
>> ctx=resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.Co
>>mponentContext") smgr = ctx.ServiceManager
>>         desktop =
>> smgr.createInstanceWithContext("com.sun.star.frame.Desktop",ctx)
>>
>>         properties = []
>>         p=PropertyValue()
>>         p.Name = "Hidden"
>>         p.Value = True
>>         properties.append(p)
>>
>>         url = "private:factory/swriter"
>>         doc = desktop.loadComponentFromURL(url, "_blank", 0,
>> tuple(properties))
>
> L'IllegalArgumentException que tu reçois est une exception Java, donc
> j'imagine que la communication avec OpenOffice fonctionne bien mais qu'un des
> paramètres que tu lui donnes n'a pas le format attendu... En l'occurence ici
> l'URL ?

je pense cela également. Mais j'ai breau essayer avec des URL de type
http://serveur/fichier, file:///path/fichier et private:factory/swriter, j'ai
toujours la même réponse.

> J'ai bien essayé d'exécuter ton bout de code mais je n'arrive qu'à ceci :
>
> Traceback (most recent call last):
>   File "oo.py", line 7, in ?
>
> ctx=resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
> __main__.com.sun.star.connection.NoConnectException: Connector : couldn't
> connect to socket (Success)
>
> Comment faire pour qu'OpenOffice écoute sur ce fameux port 2002 ? Je suis sous
> Debian Lenny, donc avec OpenOffice 2.3.

il faut le lancer avec

/usr/bin/soffice
-accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" &

Je suis sous Debian Etch...
-- 
Cordialement,
jch





Plus d'informations sur la liste de diffusion Linux-bruxelles