| #!/usr/bin/python3 |
| |
| import dbus |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object('org.ofono', '/'), |
| 'org.ofono.Manager') |
| |
| modems = manager.GetModems() |
| |
| for path, properties in modems: |
| print("[ %s ]" % (path)) |
| |
| for key in properties.keys(): |
| if key in ["Interfaces", "Features"]: |
| val = "" |
| for i in properties[key]: |
| val += i + " " |
| else: |
| val = properties[key] |
| print(" %s = %s" % (key, val)) |
| |
| for interface in properties["Interfaces"]: |
| object = dbus.Interface(bus.get_object('org.ofono', path), |
| interface) |
| |
| print(" [ %s ]" % (interface)) |
| |
| try: |
| properties = object.GetProperties() |
| except: |
| continue |
| |
| for key in properties.keys(): |
| if key in ["Calls", |
| "MultipartyCalls", |
| "EmergencyNumbers", |
| "SubscriberNumbers", |
| "PreferredLanguages", |
| "PrimaryContexts", |
| "LockedPins", |
| "Features", |
| "AvailableTechnologies"]: |
| val = "" |
| for i in properties[key]: |
| val += i + " " |
| elif key in ["ServiceNumbers"]: |
| val = "" |
| for i in properties[key]: |
| val += "[" + i + "] = '" |
| val += properties[key][i] + "' " |
| elif key in ["MobileNetworkCodeLength", |
| "VoicemailMessageCount", |
| "MicrophoneVolume", |
| "SpeakerVolume", |
| "Strength", |
| "DataStrength", |
| "BatteryChargeLevel"]: |
| val = int(properties[key]) |
| elif key in ["MainMenu"]: |
| val = ", ".join([ text + " (" + str(int(icon)) + |
| ")" for text, icon in properties[key] ]) |
| elif key in ["Retries"]: |
| val = "" |
| for i in properties[key]: |
| val += "[" + i + " = " |
| val += str(int(properties[key][i])) + "] " |
| elif key in ["Settings"]: |
| val = "{" |
| for i in properties[key].keys(): |
| val += " " + i + "=" |
| if i in ["DomainNameServers"]: |
| for n in properties[key][i]: |
| val += n + "," |
| else: |
| val += properties[key][i] |
| val += " }" |
| else: |
| val = properties[key] |
| print(" %s = %s" % (key, val)) |
| |
| print('') |