Périphériques USB UDev et D-BUS

Je suis en train d'essayer d'obtenir une liste de actuellement branché en USB périphériques dans Ubuntu 10.10 et de surveiller les changements qui surviennent, comme les appareils branchés dans ou en dehors de l'utilisation d'UDev et D-BUS. Je suis assez nouveau dans la programmation à l'aide de D-BUS. J'ai vu un exemple: Linux : Comment détecter les est clavier usb est branché et débranché seulement que l'on utilise HAL et je sais que HAL est obsolète. J'ai trouvé un code de travail, modifié un peu, seulement, il ne fonctionne pas pour tout appareil uniquement des périphériques de stockage tels que les clés usb, les lecteurs multimédias ou de cd-rom. Je veux le tout des souris, des claviers, caméras usb chargeurs de tout ce qui est branché dans le port USB je veux que mon programme à savoir sur le sujet. C'est en gros ce que j'ai ( http://moserei.de/2010/01/08/accessing-devicekit-with-dbus-and-python.html ):

import dbus
import gobject
from dbus.mainloop.glib import DBusGMainLoop

def device_added_callback(device):
    print 'Device %s was added' % (device)

def device_changed_callback(device):
    print 'Device %s was changed' % (device)

#must be done before connecting to DBus
DBusGMainLoop(set_as_default=True)

bus = dbus.SystemBus()

proxy = bus.get_object("org.freedesktop.UDisks", 
                       "/org/freedesktop/UDisks")
iface = dbus.Interface(proxy, "org.freedesktop.UDisks.Device")

devices = iface.get_dbus_method('EnumerateDevices')()

print '%s' % (devices)

#addes two signal listeners
iface.connect_to_signal('DeviceAdded', device_added_callback)
iface.connect_to_signal('DeviceChanged', device_changed_callback)

#start the main loop
mainloop = gobject.MainLoop()
mainloop.run()

Toute aide serait aprécié. Je vous remercie à l'avance,
Calota Romeo

source d'informationauteur Calota Romeo