simple dbus & python query.
John (J5) Palmieri
johnp at redhat.com
Mon Jul 31 10:12:46 PDT 2006
You are using the 0.2x API. The newer API looks like this:
bus = dbus.SystemBus()
hal_manager_obj = self.bus.get_object("org.freedesktop.Hal",
"/org/freedesktop/Hal/Manager")
hal_manager_iface = dbus.Interface(self.hal_manager_obj,
"org.freedesktop.Hal.Manager")
dennis wrote:
> Hi,
>
> I have this sample python script from the hal sources, but it doesn't
> work
> for me. This is despite other example python scripts I have to help me
> are
> working fine. The problem is that this script is the closet to what it is
> I actually want to learn to do.
>
> My system: ubuntu 6.06 (inc. all updates) on a bog standard x86 P4 PC.
>
> I've been googling on this one, and tried newsgroups too, to no avail.
> I'm a bit of a coding newbie, too, although I'm not totally new to all
> the important & relevant concepts.
>
> Documentation on this stuff is extremely thin on the ground, so links to
> any good resources other than those at freedesktop.org would be most
> appreciated ... the "simpler" and easier to follow that they are the
> better.
>
> For my current problem, the error is:
>
> Traceback (most recent call last):
> File "./dbus-3.py", line 6, in ?
> hal_service = bus.get_service ('org.freedesktop.Hal')
> AttributeError: 'SystemBus' object has no attribute 'get_service'
>
>
> The script is as follows:
>
> #!/usr/bin/python
>
> import dbus
>
> bus = dbus.Bus (dbus.Bus.TYPE_SYSTEM)
> hal_service = bus.get_service ('org.freedesktop.Hal')
> hal_manager = hal_service.get_object ('/org/freedesktop/Hal/Manager',
> 'org.freedesktop.Hal.Manager')
>
> volume_udi_list = hal_manager.FindDeviceByCapability ('volume')
> for udi in volume_udi_list:
> volume = hal_service.get_object (udi, 'org.freedesktop.Hal.Device')
> device_file = volume.GetProperty ('block.device')
> fstype = volume.GetProperty ('volume.fstype')
> storage_udi = volume.GetProperty ('block.storage_device')
> storage = hal_service.get_object (storage_udi,
> 'org.freedesktop.Hal.Device')
> drive_type = storage.GetProperty ('storage.drive_type')
> print 'udi=%s device_file=%s fstype=%s drive_type=%s'%(udi,
> device_file, fstype, drive_type)
> _______________________________________________
> dbus mailing list
> dbus at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dbus
More information about the dbus
mailing list