def initialize(self):
     super(BundledDistro, self).initialize()
     if LSB_INFO:
         for osplugin in PluginManager.get_plugins(IOSPlugin):
             if osplugin.is_valid(LSB_INFO) and osplugin.__class__ != self.__class__:
                 self.__class__.__bases__ = (osplugin.__class__, )
                 return
def get_groups():
    for osplugin in PluginManager.get_plugins(IOSPlugin):
        try:
            if osplugin.os_name.match(os_info["os_name"]):
                if osplugin.os_version:
                    if osplugin.os_version.match(os_info["os_version"]):
                        log.msg("osplugin: %s" % (osplugin.__class__))
                        return osplugin.os_groups
                    else:
                        # Version doesn't match.
                        pass
                else:
                    # No version specified.
                    log.msg("osplugin: %s" % (osplugin.__class__))
                    return osplugin.os_groups
            else:
                # Distro name doesn't match.
                pass
        except KeyError:
            pass

    # No matching os plugin found.
    message = "OS/Distro not registered"
    details = (
        """
The OS/Distro under which you are running %s
is not registered in the OS database. Check the common.oal module for what
you can do in order to support your OS/Distro
"""
        % APP_LONG_NAME
    )
    #    dialogs.open_warning_dialog(message, details)
    log.msg("%s %s" % (message, details))
    raise OSNotRegisteredError
        def process_device_added():
            properties = self.get_devices_properties()
            cached_id = None

            for device in DeviceProfileCache.get_cached_devices():
                if device in properties:
                    cached_id = device.cached_id

            for plugin in PluginManager.get_plugins(IDBusDevicePlugin):
                if plugin in properties:
                    try:
                        plugin.setup(properties)
                        if cached_id:
                            plugin.cached_id = cached_id
                        if (plugin.udi in self.udi_device):
                            continue
                        self.udi_device[str(plugin.udi)] = plugin
                        d = DeviceResolver.identify_device(plugin)
                        def select_and_configure(name):
                            try:
                                plugin = \
                                  PluginManager.get_plugin_by_remote_name(name)
                                plugin.setup(properties)
                                self.udi_device[str(plugin.udi)] = plugin
                                self.device_list.append(plugin)
                                self.view.device_added(plugin)
                            except Exception, e:
                                print e
                        d.addCallback(select_and_configure)
                    except Exception, e:
                        pass
示例#4
0
        def process_device_added():
            properties = self.get_devices_properties()
            cached_id = None

            for device in DeviceProfileCache.get_cached_devices():
                if device in properties:
                    cached_id = device.cached_id

            for plugin in PluginManager.get_plugins(IDBusDevicePlugin):
                if plugin in properties:
                    try:
                        plugin.setup(properties)
                        if cached_id:
                            plugin.cached_id = cached_id
                        if (plugin.udi in self.udi_device):
                            continue
                        self.udi_device[str(plugin.udi)] = plugin
                        d = DeviceResolver.identify_device(plugin)

                        def select_and_configure(name):
                            try:
                                plugin = \
                                  PluginManager.get_plugin_by_remote_name(name)
                                plugin.setup(properties)
                                self.udi_device[str(plugin.udi)] = plugin
                                self.device_list.append(plugin)
                                self.view.device_added(plugin)
                            except Exception, e:
                                print e

                        d.addCallback(select_and_configure)
                    except Exception, e:
                        pass
示例#5
0
def get_groups():
    for osplugin in PluginManager.get_plugins(IOSPlugin):
        try:
            if osplugin.os_name.match(os_info['os_name']):
                if osplugin.os_version:
                    if osplugin.os_version.match(os_info['os_version']):
                        log.msg('osplugin: %s' % (osplugin.__class__))
                        return osplugin.os_groups
                    else:
                        # Version doesn't match.
                        pass
                else:
                    # No version specified.
                    log.msg('osplugin: %s' % (osplugin.__class__))
                    return osplugin.os_groups
            else:
                # Distro name doesn't match.
                pass
        except KeyError:
            pass

    # No matching os plugin found.
    message = 'OS/Distro not registered'
    details = """
The OS/Distro under which you are running %s
is not registered in the OS database. Check the common.oal module for what
you can do in order to support your OS/Distro
""" % APP_LONG_NAME
    #    dialogs.open_warning_dialog(message, details)
    log.msg('%s %s' % (message, details))
    raise OSNotRegisteredError
 def initialize(self):
     super(BundledDistro, self).initialize()
     if LSB_INFO:
         for osplugin in PluginManager.get_plugins(IOSPlugin):
             if osplugin.is_valid(
                     LSB_INFO) and osplugin.__class__ != self.__class__:
                 self.__class__.__bases__ = (osplugin.__class__, )
                 return
示例#7
0
 def process_device_added(self):
     from vmc.common.plugin import PluginManager
     properties = self.get_devices_properties()
     for plugin in PluginManager.get_plugins(IDBusDevicePlugin):
         if plugin in properties:
             plugin.setup(properties)
             louie.send(notifications.SIG_DEVICE_ADDED, None, plugin)
             self.device = plugin
 def __init__(self, wrapper, device, kwds):
     super(NotificationsManager, self).__init__()
     self.wrapper = wrapper
     self.queue = device.sconn.notifications
     self.listeners = []
     self.plugin_listeners = [p for p in PluginManager.get_plugins(
                                             INotificationPlugin)]
     self.running = False
     self.signal_map = {}
     self.setup_signals(kwds)
 def __init__(self, wrapper, device, kwds):
     super(NotificationsManager, self).__init__()
     from vmc.common.plugin import PluginManager
     self.wrapper = wrapper
     self.queue = device.sconn.notifications
     self.listeners = []
     self.plugin_listeners = [p for p in PluginManager.get_plugins(
                                             INotificationPlugin)]
     self.running = False
     self.signal_map = {}
     self.setup_signals(kwds)
示例#10
0
def get_os_object():
    """
    Returns a C{BaseDistribution} object corresponding to current OS used
    
    @raise OSNotRegisteredError: If the OS is not supported.
    """
    from vmc.common.plugin import PluginManager
    from vmc.common.interfaces import IOSPlugin

    for osplugin in PluginManager.get_plugins(IOSPlugin):
        if osplugin.is_valid():
            osplugin.initialize()
            return osplugin

    raise OSNotRegisteredError
示例#11
0
def get_os_object():
    """
    Returns a C{BaseDistribution} object corresponding to current OS used
    
    @raise OSNotRegisteredError: If the OS is not supported.
    """
    from vmc.common.plugin import PluginManager
    from vmc.common.interfaces import IOSPlugin
    
    for osplugin in PluginManager.get_plugins(IOSPlugin):
        if osplugin.is_valid():
            osplugin.initialize()
            return osplugin
    
    raise OSNotRegisteredError
 def _get_dbus_devices(self):
     """
     Returns a list with all the IDBusDevicePlugin that might be present
     
     This list is potentially unaccurate as devices from the same company
     tend to share product_ids and you might get plugins that aren't
     present
     
     @raise DeviceLacksExtractInfo: If the device found lacks any of the
     necessary control/data ports.
     @raise DeviceNotFoundError: If no known device was found
     """
     exceptions = []
     found_plugins = []
     device_properties = self.get_devices_properties()
     
     for plugin in PluginManager.get_plugins(IDBusDevicePlugin):
         # DBusDevicePlugin implements __eq__ to be compared with dicts
         if plugin in device_properties:
             try:
                 plugin.setup(device_properties)
                 found_plugins.append(plugin)
             except DeviceLacksExtractInfo, e:
                 exceptions.append(e)
    def _get_dbus_devices(self):
        """
        Returns a list with all the IDBusDevicePlugin that might be present
        
        This list is potentially unaccurate as devices from the same company
        tend to share product_ids and you might get plugins that aren't
        present
        
        @raise DeviceLacksExtractInfo: If the device found lacks any of the
        necessary control/data ports.
        @raise DeviceNotFoundError: If no known device was found
        """
        exceptions = []
        found_plugins = []
        device_properties = self.get_devices_properties()

        for plugin in PluginManager.get_plugins(IDBusDevicePlugin):
            # DBusDevicePlugin implements __eq__ to be compared with dicts
            if plugin in device_properties:
                try:
                    plugin.setup(device_properties)
                    found_plugins.append(plugin)
                except DeviceLacksExtractInfo, e:
                    exceptions.append(e)
 def get_os_by_lsb(self, lsb):
     for osplugin in PluginManager.get_plugins(IOSPlugin):
         if osplugin.is_valid(lsb) and not isinstance(osplugin, 
                                                      BundledDistro):
             return osplugin
 def initialize(self):
     super(BundledDistro, self).initialize()
     for plugin in PluginManager.get_plugins(IOSPlugin):
         if (plugin.is_valid() and plugin.__class__ != self.__class__):
             self.__class__.__bases__ = (plugin.__class__, )
             return
示例#16
0
 def get_os_by_lsb(self, lsb):
     for plugin in PluginManager.get_plugins(IOSPlugin):
         if plugin.is_valid() and not isinstance(osplugin, BundledDistro):
             return plugin
 def initialize(self):
     super(BundledDistro, self).initialize()
     for plugin in PluginManager.get_plugins(IOSPlugin):
         if (plugin.is_valid() and plugin.__class__ != self.__class__):
             self.__class__.__bases__ = (plugin.__class__,)
             return