rimach has proposed merging lp:~crichter/openlp/bugfixing into lp:openlp.

Requested reviews:
  Jonathan Corwin (j-corwin)
  Raoul Snyman (raoul-snyman)


change using of pipe instead of socket for soffice communication via uno. 
-- 
https://code.launchpad.net/~crichter/openlp/bugfixing/+merge/35932
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp.pyw'
--- openlp.pyw	2010-09-15 12:23:42 +0000
+++ openlp.pyw	2010-09-18 18:54:45 +0000
@@ -162,18 +162,18 @@
     the PyQt4 Application.
     """
     # Set up command line options.
-    usage = u'Usage: %prog [options] [qt-options]'
+    usage = 'Usage: %prog [options] [qt-options]'
     parser = OptionParser(usage=usage)
-    parser.add_option(u'-e', u'--no-error-form', dest=u'no_error_form',
-        action=u'store_true', help=u'Disable the error notification form.')
-    parser.add_option(u'-l', u'--log-level', dest=u'loglevel',
-        default=u'warning', metavar=u'LEVEL', help=u'Set logging to LEVEL '
-        u'level. Valid values are "debug", "info", "warning".')
-    parser.add_option(u'-p', u'--portable', dest=u'portable',
-        action=u'store_true', help=u'Specify if this should be run as a '
-        u'portable app, off a USB flash drive (not implemented).')
-    parser.add_option(u'-s', u'--style', dest=u'style',
-        help=u'Set the Qt4 style (passed directly to Qt4).')
+    parser.add_option('-e', '--no-error-form', dest='no_error_form',
+        action='store_true', help='Disable the error notification form.')
+    parser.add_option('-l', '--log-level', dest='loglevel',
+        default='warning', metavar='LEVEL', help='Set logging to LEVEL '
+        'level. Valid values are "debug", "info", "warning".')
+    parser.add_option('-p', '--portable', dest='portable',
+        action='store_true', help='Specify if this should be run as a '
+        'portable app, off a USB flash drive (not implemented).')
+    parser.add_option('-s', '--style', dest='style',
+        help='Set the Qt4 style (passed directly to Qt4).')
     # Set up logging
     log_path = AppLocation.get_directory(AppLocation.CacheDir)
     if not os.path.exists(log_path):

=== modified file 'openlp/plugins/presentations/lib/impresscontroller.py'
--- openlp/plugins/presentations/lib/impresscontroller.py	2010-07-31 00:05:27 +0000
+++ openlp/plugins/presentations/lib/impresscontroller.py	2010-09-18 18:54:45 +0000
@@ -74,6 +74,7 @@
         self.process = None
         self.desktop = None
         self.manager = None
+        self.uno_connection_type = u'pipe' #u'socket'
 
     def check_available(self):
         """
@@ -98,7 +99,14 @@
             self.manager._FlagAsMethod(u'Bridge_GetValueObject')
         else:
             # -headless
-            cmd = u'openoffice.org -nologo -norestore -minimized -invisible -nofirststartwizard -accept="socket,host=localhost,port=2002;urp;"'
+            if self.uno_connection_type == u'pipe':
+                cmd = u'openoffice.org -nologo -norestore -minimized ' \
+                    + u'-invisible -nofirststartwizard ' \
+                    + u'-accept=pipe,name=openlp_pipe;urp;'
+            else:
+                cmd = u'openoffice.org -nologo -norestore -minimized ' \
+                    + u'-invisible -nofirststartwizard ' \
+                    + u'-accept=socket,host=localhost,port=2002;urp;'
             self.process = QtCore.QProcess()
             self.process.startDetached(cmd)
             self.process.waitForStarted()
@@ -117,11 +125,19 @@
             u'UnoUrlResolver')
         resolver = context.ServiceManager.createInstanceWithContext(
             u'com.sun.star.bridge.UnoUrlResolver', context)
+        #connection_type = u'socket'
+        connection_type = u'pipe,name=openlp_pipe'
         while ctx is None and loop < 3:
             try:
                 log.debug(u'get UNO Desktop Openoffice - resolve')
-                ctx = resolver.resolve(u'uno:socket,host=localhost,port=2002;'
-                    u'urp;StarOffice.ComponentContext')
+                if self.uno_connection_type == u'pipe':
+                    ctx = resolver.resolve(u'uno:' \
+                        + u'pipe,name=openlp_pipe;' \
+                        + u'urp;StarOffice.ComponentContext')
+                else:
+                    ctx = resolver.resolve(u'uno:' \
+                        + u'socket,host=localhost,port=2002;' \
+                        + u'urp;StarOffice.ComponentContext')
             except:
                 log.exception(u'Unable to find running instance ')
                 self.start_process()

=== modified file 'openlp/plugins/songs/lib/oooimport.py'
--- openlp/plugins/songs/lib/oooimport.py	2010-09-05 15:16:48 +0000
+++ openlp/plugins/songs/lib/oooimport.py	2010-09-18 18:54:45 +0000
@@ -59,6 +59,7 @@
         self.document = None
         self.process_started = False
         self.filenames = kwargs[u'filenames']
+        self.uno_connection_type = u'pipe' #u'socket'
         QtCore.QObject.connect(Receiver.get_receiver(),
             QtCore.SIGNAL(u'song_stop_import'), self.stop_import)
 
@@ -106,8 +107,14 @@
             loop = 0
             while ctx is None and loop < 5:
                 try:
-                    ctx = resolver.resolve(u'uno:socket,host=localhost,' \
-                        + 'port=2002;urp;StarOffice.ComponentContext')
+                    if self.uno_connection_type == u'pipe':
+                        ctx = resolver.resolve(u'uno:' \
+                            + u'pipe,name=openlp_pipe;' \
+                            + u'urp;StarOffice.ComponentContext')
+                    else:
+                        ctx = resolver.resolve(u'uno:' \
+                            + u'socket,host=localhost,port=2002;' \
+                            + u'urp;StarOffice.ComponentContext')
                 except:
                     pass
                 self.start_ooo_process()
@@ -123,9 +130,14 @@
                 self.manager._FlagAsMethod(u'Bridge_GetStruct')
                 self.manager._FlagAsMethod(u'Bridge_GetValueObject')
             else:
-                cmd = u'openoffice.org -nologo -norestore -minimized ' \
-                    + u'-invisible -nofirststartwizard ' \
-                    + '-accept="socket,host=localhost,port=2002;urp;"'
+                if self.uno_connection_type == u'pipe':
+                    cmd = u'openoffice.org -nologo -norestore -minimized ' \
+                        + u'-invisible -nofirststartwizard ' \
+                        + u'-accept=pipe,name=openlp_pipe;urp;'
+                else:
+                    cmd = u'openoffice.org -nologo -norestore -minimized ' \
+                        + u'-invisible -nofirststartwizard ' \
+                        + u'-accept=socket,host=localhost,port=2002;urp;'
                 process = QtCore.QProcess()
                 process.startDetached(cmd)
                 process.waitForStarted()

=== modified file 'resources/images/about-new.bmp' (properties changed: +x to -x)
=== modified file 'resources/openlp.desktop' (properties changed: -x to +x)
--- resources/openlp.desktop	2010-03-26 15:14:52 +0000
+++ resources/openlp.desktop	2010-09-18 18:54:45 +0000
@@ -1,3 +1,4 @@
+#!/usr/bin/env xdg-open
 [Desktop Entry]
 Encoding=UTF-8
 Name=OpenLP

_______________________________________________
Mailing list: https://launchpad.net/~openlp-core
Post to     : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to