Cargando un documento en OpenOffice usando un programa externo de Python

Estoy tratando de crear un programa python (usando pyUNO) para hacer algunos cambios en una hoja de cálculo de OpenOffice.

He iniciado OpenOffice anteriormente en modo "aceptar" para poder conectarme desde un programa externo. Al parecer, debería ser tan fácil como:

import uno
# get the uno component context from the PyUNO runtime
localContext = uno.getComponentContext()

# create the UnoUrlResolver
resolver = localContext.ServiceManager.createInstanceWithContext(
                            "com.sun.star.bridge.UnoUrlResolver", localContext)

# connect to the running office
ctx = resolver.resolve("uno:socket,host=localhost,port=2002;"
                       "urp;StarOffice.ComponentContext")
smgr = ctx.ServiceManager

# get the central desktop object
DESKTOP =smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)

#The calling it's not exactly this way, just to simplify the code
DESKTOP.loadComponentFromURL('file.ods') 

Pero me sale unAttributeError cuando intento accederloadComponentFromURL. Si hago undir(DESKTOP), He visto solo los siguientes atributos / métodos:

['ActiveFrame', 'DispatchRecorderSupplier', 'ImplementationId', 'ImplementationName',
'IsPlugged', 'PropertySetInfo', 'SupportedServiceNames', 'SuspendQuickstartVeto', 
'Title', 'Types', 'addEventListener', 'addPropertyChangeListener', 
'addVetoableChangeListener', 'dispose', 'disposing', 'getImplementationId', 
'getImplementationName', 'getPropertySetInfo', 'getPropertyValue', 
'getSupportedServiceNames', 'getTypes', 'handle', 'queryInterface', 
'removeEventListener', 'removePropertyChangeListener', 'removeVetoableChangeListener', 
'setPropertyValue', 'supportsService']

He leído que hay un error que hace lo mismo, pero en OpenOffice 3.0 (estoy usando OpenOffice 3.1 sobre Red Hat5.3). He intentado utilizar la solución indicadaaquí, pero no parecen estar funcionando.

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta