33 from python_qt_binding.QtCore 
import qCritical
 
   39     """Composite of multiple `PluginProvider`s.""" 
   42         super(CompositePluginProvider, self).
__init__()
 
   43         self.setObjectName(
'CompositePluginProvider')
 
   54         discovered_plugins = []
 
   57                 plugin_descriptors = plugin_provider.discover(discovery_data)
 
   60                     'CompositePluginProvider.discover() could not discover plugins from ' 
   61                     'provider "%s":\n%s' % (type(plugin_provider), traceback.format_exc()))
 
   64                 discovered_plugins += plugin_descriptors
 
   65         return discovered_plugins
 
   67     def load(self, plugin_id, plugin_context):
 
   70             for plugin_descriptor 
in plugin_descriptors:
 
   71                 if plugin_descriptor.plugin_id() == plugin_id:
 
   72                     instance = plugin_provider.load(plugin_id, plugin_context)
 
   75         raise UserWarning(
'plugin_id "%s" not found' % plugin_id)
 
   83         raise UserWarning(
'plugin_instance not found')
 
   87             plugin_provider.shutdown()