मैं उपलब्ध डीबीस इंटरफ़ेस गुणों की सूची कैसे प्राप्त करूं?डीबीस इंटरफ़ेस गुण
मैं एक ऐसी स्क्रिप्ट लिख रहा हूं जो विशिष्ट प्रकार के यूएसबी डिवाइस कनेक्शन को ट्रैक करेगा। सभी यूएसबी कनेक्शन से कनेक्शन को ट्रैक करने का एक तरीका मुझे लगता है कि सिग्नल इंटरफेस के गुणों की जांच करना डीबीस यूएसबी कनेक्शन पर भेज रहा है। मैं प्रासंगिक चुनने के लिए ऐसी सभी संपत्तियों की सूची प्राप्त करना चाहता हूं।
मेरे कोड है:
सभी कीimport sys
import dbus
from dbus.mainloop.glib import DBusGMainLoop
import gobject
def deviceAdded(udi):
device = bus.get_object("org.freedesktop.Hal", udi)
device_if = dbus.Interface(device, 'org.freedesktop.Hal.Device')
if device_if.GetPropertyString('info.subsystem') == 'usb_device':
#
# Properties can be accesed like this:
# vendor_id = device_if.GetPropertyInteger('usb_device.vendor_id')
#
# how to get the list of all properties?
#
# do something
def deviceRemoved(udi):
# do something
pass
if __name__ == "__main__":
DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
bus.add_signal_receiver(
deviceAdded,
'DeviceAdded',
'org.freedesktop.Hal.Manager',
'org.freedesktop.Hal',
'/org/freedesktop/Hal/Manager')
bus.add_signal_receiver(
deviceRemoved,
'DeviceRemoved',
'org.freedesktop.Hal.Manager',
'org.freedesktop.Hal',
'/org/freedesktop/Hal/Manager')
loop = gobject.MainLoop()
try:
loop.run()
except KeyboardInterrupt:
print "usb-device-tracker: keyboad interrupt received, shutting down"
loop.quit()
sys.exit(0)