~free.ekanayaka/landscape-client/lucid-1.5.4-0ubuntu0.10.04.0

« back to all changes in this revision

Viewing changes to landscape/hal.py

  • Committer: Bazaar Package Importer
  • Author(s): Free Ekanayaka
  • Date: 2010-06-28 18:07:18 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20100628180718-vytyqgbtkiirv5sb
Tags: 1.5.2.1-0ubuntu0.10.04.0
Filter duplicate network interfaces in get_active_interfaces (LP: #597000)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import logging
 
2
 
1
3
from dbus import Interface, SystemBus
 
4
from dbus.exceptions import DBusException
2
5
 
3
6
 
4
7
class HALManager(object):
5
8
 
6
9
    def __init__(self, bus=None):
7
 
        self._bus = bus or SystemBus()
8
 
        manager = self._bus.get_object("org.freedesktop.Hal",
9
 
                                       "/org/freedesktop/Hal/Manager")
10
 
        self._manager = Interface(manager, "org.freedesktop.Hal.Manager")
 
10
        try:
 
11
            self._bus = bus or SystemBus()
 
12
            manager = self._bus.get_object("org.freedesktop.Hal",
 
13
                                           "/org/freedesktop/Hal/Manager")
 
14
        except DBusException:
 
15
            logging.error("Couldn't to connect to Hal via DBus")
 
16
            self._manager = None
 
17
        else:
 
18
            self._manager = Interface(manager, "org.freedesktop.Hal.Manager")
11
19
 
12
20
    def get_devices(self):
13
 
        """
14
 
        Returns a list of HAL devices.
15
 
        """
 
21
        """Returns a list of HAL devices.
 
22
 
 
23
        @note: If it wasn't possible to connect to HAL over DBus, then an
 
24
            emtpy list will be returned. This can happen if the HAL or DBus
 
25
            services are not running.
 
26
        """
 
27
        if not self._manager:
 
28
            return []
16
29
        devices = []
17
30
        for udi in self._manager.GetAllDevices():
18
31
            device = self._bus.get_object("org.freedesktop.Hal", udi)