summaryrefslogtreecommitdiff
path: root/ishtar_common/libreoffice.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/libreoffice.py')
-rw-r--r--ishtar_common/libreoffice.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/ishtar_common/libreoffice.py b/ishtar_common/libreoffice.py
index 97437bd9a..2007bf895 100644
--- a/ishtar_common/libreoffice.py
+++ b/ishtar_common/libreoffice.py
@@ -9,6 +9,7 @@ from com.sun.star.beans import PropertyValue
from com.sun.star.connection import NoConnectException
from com.sun.star.sheet.ValidationType import LIST
from com.sun.star.table import BorderLineStyle
+from com.sun.star.uno import RuntimeException
# nosec: filename used is generated and sanitized
import subprocess # nosec
@@ -52,16 +53,15 @@ class UnoClient:
def connect(self):
local_context = uno.getComponentContext()
-
- resolver = local_context.ServiceManager.createInstanceWithContext(
- "com.sun.star.bridge.UnoUrlResolver", local_context)
- connection = get_connection()
+ connection_str = f"uno:socket,host={settings.LIBREOFFICE_HOST},port={settings.LIBREOFFICE_PORT};urp;StarOffice.ComponentContext"
try:
- self.service_manager = resolver.resolve(
- "uno:{};StarOffice.ServiceManager".format(connection))
- except NoConnectException:
+ self.context = local_context.ServiceManager.createInstanceWithContext(
+ "com.sun.star.bridge.UnoUrlResolver", local_context
+ ).resolve(connection_str)
+ except (NoConnectException, RuntimeException) as e:
self.service_manager = None
- # self.service_manager = self.service_manager.ServiceManager
+ return
+ self.service_manager = self.context.ServiceManager
def create_context(self):
if self.remote_context and self.desktop: