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
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
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)
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_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
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