You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.7 KiB

from gi.repository import GLib
import dbus
import dbus.mainloop.glib
def property_changed(name, value):
print("Modem property %s changed to %s" % (name, value))
if __name__ == "__main__":
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
modems = manager.GetModems()
modem = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
modem.connect_to_signal("PropertyChanged", property_changed)
properties = modem.GetProperties()
if 'Name' in properties:
print("Name: %s" % (properties['Name']))
if 'Manufacturer' in properties:
print("Manufacturer: %s" % (properties['Manufacturer']))
if 'Model' in properties:
print("Model: %s" % (properties['Model']))
if 'Revision' in properties:
print("Revision: %s" % (properties['Revision']))
if 'Serial' in properties:
print("Serial: %s" % (properties['Serial']))
if 'SoftwareVersionNumber' in properties:
print("SoftwareVersionNumber: %s" % (properties['SoftwareVersionNumber']))
if 'Powered' in properties:
print("Powered: %s" % (properties['Powered']))
if 'Online' in properties:
print("Online: %s" % (properties['Online']))
if 'Lockdown' in properties:
print("Lockdown: %s" % (properties['Lockdown']))
if 'Emergency' in properties:
print("Emergency: %s" % (properties['Emergency']))
if 'Features' in properties:
for feature in properties["Features"]:
print(" [ %s ]" % (feature))
if 'Interfaces' in properties:
for interface in properties["Interfaces"]:
print(" [ %s ]" % (interface))
mainloop = GLib.MainLoop()