コード例 #1
0
ファイル: test_utils.py プロジェクト: crossroadchurch/paul
    def get_uno_instance_socket_test(self):
        """
        Test that when the UNO connection type is other than "pipe" the resolver is given the "socket" URI
        """
        # GIVEN: A mock resolver object and UNO_CONNECTION_TYPE is "socket"
        mock_resolver = MagicMock()

        # WHEN: get_uno_instance() is called
        get_uno_instance(mock_resolver, 'socket')

        # THEN: the resolve method is called with the correct argument
        mock_resolver.resolve.assert_called_with('uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext')
コード例 #2
0
ファイル: test_utils.py プロジェクト: crossroadchurch/paul
    def get_uno_instance_pipe_test(self):
        """
        Test that when the UNO connection type is "pipe" the resolver is given the "pipe" URI
        """
        # GIVEN: A mock resolver object and UNO_CONNECTION_TYPE is "pipe"
        mock_resolver = MagicMock()

        # WHEN: get_uno_instance() is called
        get_uno_instance(mock_resolver)

        # THEN: the resolve method is called with the correct argument
        mock_resolver.resolve.assert_called_with('uno:pipe,name=openlp_pipe;urp;StarOffice.ComponentContext')
コード例 #3
0
ファイル: test_utils.py プロジェクト: jkunle/paul
    def get_uno_instance_pipe_test(self):
        """
        Test that when the UNO connection type is "pipe" the resolver is given the "pipe" URI
        """
        # GIVEN: A mock resolver object and UNO_CONNECTION_TYPE is "pipe"
        mock_resolver = MagicMock()

        # WHEN: get_uno_instance() is called
        get_uno_instance(mock_resolver)

        # THEN: the resolve method is called with the correct argument
        mock_resolver.resolve.assert_called_with(
            'uno:pipe,name=openlp_pipe;urp;StarOffice.ComponentContext')
コード例 #4
0
ファイル: test_utils.py プロジェクト: jkunle/paul
    def get_uno_instance_socket_test(self):
        """
        Test that when the UNO connection type is other than "pipe" the resolver is given the "socket" URI
        """
        # GIVEN: A mock resolver object and UNO_CONNECTION_TYPE is "socket"
        mock_resolver = MagicMock()

        # WHEN: get_uno_instance() is called
        get_uno_instance(mock_resolver, 'socket')

        # THEN: the resolve method is called with the correct argument
        mock_resolver.resolve.assert_called_with(
            'uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext'
        )
コード例 #5
0
ファイル: openoffice.py プロジェクト: crossroadchurch/paul
 def start_ooo(self):
     """
     Start OpenOffice.org process
     TODO: The presentation/Impress plugin may already have it running
     """
     if is_win():
         self.start_ooo_process()
         self.desktop = self.ooo_manager.createInstance('com.sun.star.frame.Desktop')
     else:
         context = uno.getComponentContext()
         resolver = context.ServiceManager.createInstanceWithContext('com.sun.star.bridge.UnoUrlResolver', context)
         uno_instance = None
         loop = 0
         while uno_instance is None and loop < 5:
             try:
                 uno_instance = get_uno_instance(resolver)
             except NoConnectException:
                 time.sleep(0.1)
                 log.exception("Failed to resolve uno connection")
                 self.start_ooo_process()
                 loop += 1
             else:
                 manager = uno_instance.ServiceManager
                 self.desktop = manager.createInstanceWithContext("com.sun.star.frame.Desktop", uno_instance)
                 return
         raise Exception('Unable to start LibreOffice')
コード例 #6
0
 def start_ooo(self):
     """
     Start OpenOffice.org process
     TODO: The presentation/Impress plugin may already have it running
     """
     if is_win():
         self.start_ooo_process()
         self.desktop = self.ooo_manager.createInstance(
             'com.sun.star.frame.Desktop')
     else:
         context = uno.getComponentContext()
         resolver = context.ServiceManager.createInstanceWithContext(
             'com.sun.star.bridge.UnoUrlResolver', context)
         uno_instance = None
         loop = 0
         while uno_instance is None and loop < 5:
             try:
                 uno_instance = get_uno_instance(resolver)
             except NoConnectException:
                 time.sleep(0.1)
                 log.exception("Failed to resolve uno connection")
                 self.start_ooo_process()
                 loop += 1
             else:
                 manager = uno_instance.ServiceManager
                 self.desktop = manager.createInstanceWithContext(
                     "com.sun.star.frame.Desktop", uno_instance)
                 return
         raise Exception('Unable to start LibreOffice')
コード例 #7
0
ファイル: impresscontroller.py プロジェクト: jkunle/paul
 def get_uno_desktop(self):
     """
     On non-Windows platforms, use Uno. Get the OpenOffice desktop which will be used to manage impress.
     """
     log.debug('get UNO Desktop Openoffice')
     uno_instance = None
     loop = 0
     log.debug('get UNO Desktop Openoffice - getComponentContext')
     context = uno.getComponentContext()
     log.debug(
         'get UNO Desktop Openoffice - createInstaneWithContext - UnoUrlResolver'
     )
     resolver = context.ServiceManager.createInstanceWithContext(
         'com.sun.star.bridge.UnoUrlResolver', context)
     while uno_instance is None and loop < 3:
         try:
             uno_instance = get_uno_instance(resolver)
         except:
             log.warning('Unable to find running instance ')
             self.start_process()
             loop += 1
     try:
         self.manager = uno_instance.ServiceManager
         log.debug(
             'get UNO Desktop Openoffice - createInstanceWithContext - Desktop'
         )
         desktop = self.manager.createInstanceWithContext(
             "com.sun.star.frame.Desktop", uno_instance)
         return desktop
     except:
         log.warning('Failed to get UNO desktop')
         return None
コード例 #8
0
 def get_uno_desktop(self):
     """
     On non-Windows platforms, use Uno. Get the OpenOffice desktop
     which will be used to manage impress
     """
     log.debug(u'get UNO Desktop Openoffice')
     uno_instance = None
     loop = 0
     log.debug(u'get UNO Desktop Openoffice - getComponentContext')
     context = uno.getComponentContext()
     log.debug(u'get UNO Desktop Openoffice - createInstaneWithContext - UnoUrlResolver')
     resolver = context.ServiceManager.createInstanceWithContext(u'com.sun.star.bridge.UnoUrlResolver', context)
     while uno_instance is None and loop < 3:
         try:
             uno_instance = get_uno_instance(resolver)
         except:
             log.warn(u'Unable to find running instance ')
             self.start_process()
             loop += 1
     try:
         self.manager = uno_instance.ServiceManager
         log.debug(u'get UNO Desktop Openoffice - createInstanceWithContext'
             u' - Desktop')
         desktop = self.manager.createInstanceWithContext("com.sun.star.frame.Desktop", uno_instance)
         return desktop
     except:
         log.warn(u'Failed to get UNO desktop')
         return None