Home | History | Annotate | Download | only in test-scripts
      1 #!/usr/bin/python
      2 
      3 import dbus
      4 
      5 def print_sub_properties(key, value):
      6     if key == "Profiles":
      7         interface = "org.chromium.flimflam.Profile"
      8     elif key == "Devices":
      9         interface = "org.chromium.flimflam.Device"
     10     elif key == "Services":
     11         interface = "org.chromium.flimflam.Service"
     12     else:
     13         return
     14 
     15     print "%s" % (key)
     16     for path in value:
     17         print "    %s" % (path)
     18         obj = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
     19                              interface)
     20 
     21         properties = obj.GetProperties(utf8_strings = True)
     22 
     23         for key in properties.keys():
     24             if key in ["Networks", "Services"]:
     25                 continue
     26 
     27             if key in ["Powered", "Scanning", "Connected",
     28                        "Available", "Remember", "Default"]:
     29                 if properties[key] == dbus.Boolean(1):
     30                     val = "true"
     31                 else:
     32                     val = "false"
     33             elif key in ["Strength", "Priority"]:
     34                 val = int(properties[key])
     35             else:
     36                 val = str(properties[key])
     37 
     38             print "        %s = %s" % (key, val)
     39 
     40         if "Services" in properties.keys():
     41             remove_prefix = lambda x: x[x.rfind("/") + 1]
     42             services = [" ".join(
     43                 map(remove_prefix, map(str, properties["Services"])))]
     44             print "        Services = [ %s]" % (services)
     45 
     46 def print_properties(properties):
     47     for key in properties.keys():
     48         if key in ["Profiles", "Devices", "Services"]:
     49             print_sub_properties(key, properties[key])
     50         elif key in ["AvailableTechnologies", "EnabledTechnologies",
     51                      "ConnectedTechnologies"]:
     52             print "%s" % (key)
     53             print "    [ %s]" % (" ".join(properties[key]))
     54         elif key in ["OfflineMode"]:
     55             print "%s" % (key)
     56             if properties[key] == dbus.Boolean(1):
     57                 print "    true"
     58             else:
     59                 print "    false"
     60         elif key in ["DefaultTechnology"]:
     61             print "%s" % (key)
     62             if properties[key] == "":
     63                 print "    <none>"
     64             else:
     65                 print "    %s" % (properties[key])
     66         else:
     67             print "%s" % (key)
     68             print "    %s" % (properties[key])
     69 
     70 bus = dbus.SystemBus()
     71 
     72 manager = dbus.Interface(bus.get_object("org.chromium.flimflam", "/"),
     73                                         "org.chromium.flimflam.Manager")
     74 
     75 print_properties(manager.GetProperties(utf8_strings = True))
     76