rimach has proposed merging lp:~crichter/openlp/bugfixing into lp:openlp. Requested reviews: Raoul Snyman (raoul-snyman) Jonathan Corwin (j-corwin)
change using of pipe instead of socket for soffice communication via uno. -- https://code.launchpad.net/~crichter/openlp/bugfixing/+merge/35743 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-16 21:17:11 +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-16 21:17:11 +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-16 21:17:11 +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-16 21:17:11 +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