def namespace_test(self): """Test namespaces.""" self.assertEqual(get_namespace_from_name("a"), ("a", )) self.assertEqual(get_namespace_from_name("a.b"), ("a", "b")) self.assertEqual(get_namespace_from_name("a.b.c"), ("a", "b", "c")) self.assertEqual(get_namespace_from_name("org.freedesktop.DBus"), ("org", "freedesktop", "DBus"))
def add_module(self, service_name): """Add a modules with the given service name.""" # Get the object path. namespace = get_namespace_from_name(service_name) object_path = get_dbus_path(*namespace) # Add the observer. observer = DBus.get_observer(service_name, object_path) self._module_observers.append(observer)
def __init__(self, message_bus, service_name, is_addon=False): """Creates a module observer. :param message_bus: a message bus :param service_name: a DBus name of a service :param is_addon: is the observed module an addon? """ super().__init__(message_bus, service_name) self._proxy = None self._is_addon = is_addon self._namespace = get_namespace_from_name(service_name) self._object_path = get_dbus_path(*self._namespace)
def add_addon_modules(self): """Add the addon modules.""" dbus = DBus.get_dbus_proxy() names = dbus.ListActivatableNames() prefix = get_dbus_name(*ADDONS_NAMESPACE) for service_name in names: if service_name.startswith(prefix): # Get the object path. namespace = get_namespace_from_name(service_name) object_path = get_dbus_path(*namespace) # Add the observer. observer = DBus.get_observer(service_name, object_path) self._module_observers.append(observer)
def namespace_test(self): """Test namespaces.""" self.assertEqual(get_namespace_from_name("a"), ("a",)) self.assertEqual(get_namespace_from_name("a.b"), ("a", "b")) self.assertEqual(get_namespace_from_name("a.b.c"), ("a", "b", "c")) self.assertEqual(get_namespace_from_name("org.freedesktop.DBus"), ("org", "freedesktop", "DBus"))