diff options
Diffstat (limited to 'ishtar_common/libreoffice.py')
| -rw-r--r-- | ishtar_common/libreoffice.py | 16 |
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: |
