summary refs log tree commit diff
path: root/examples/python/gi/show-wifi-networks.py
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2016-01-20 16:26:51 +0100
committerMichael Biebl <biebl@debian.org>2016-01-20 16:26:51 +0100
commit494f296a3baab08522617b24b1f126d8f9a17502 (patch)
treec8ef32fb0dd1c4ff35a0b38e787abb58692de0cd /examples/python/gi/show-wifi-networks.py
parent54f6333410ffd570e62717d9e77c5c987175e397 (diff)
Imported Upstream version 1.1.90 upstream/1.1.90
Diffstat (limited to 'examples/python/gi/show-wifi-networks.py')
-rwxr-xr-xexamples/python/gi/show-wifi-networks.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/examples/python/gi/show-wifi-networks.py b/examples/python/gi/show-wifi-networks.py
index a8bfbbfe..db49b555 100755
--- a/examples/python/gi/show-wifi-networks.py
+++ b/examples/python/gi/show-wifi-networks.py
@@ -52,13 +52,77 @@ def print_device_info(device):
     print info
     print '=' * len(info)
 
+def mode_to_string(mode):
+    if mode == getattr(NM, '80211Mode').INFRA:
+        return "INFRA"
+    if mode == getattr(NM, '80211Mode').ADHOC:
+        return "ADHOC"
+    if mode == getattr(NM, '80211Mode').AP:
+        return "AP"
+    return "UNKNOWN"
+
+def flags_to_string(flags):
+    if flags & getattr(NM, '80211ApFlags').PRIVACY:
+        return "PRIVACY"
+    return "NONE"
+
+def security_flags_to_string(flags):
+    NM_AP_FLAGS = getattr(NM, '80211ApSecurityFlags')
+    str = ""
+    if flags & NM_AP_FLAGS.PAIR_WEP40:
+        str = str + " PAIR_WEP40"
+    if flags & NM_AP_FLAGS.PAIR_WEP104:
+        str = str + " PAIR_WEP104"
+    if flags & NM_AP_FLAGS.PAIR_TKIP:
+        str = str + " PAIR_TKIP"
+    if flags & NM_AP_FLAGS.PAIR_CCMP:
+        str = str + " PAIR_CCMP"
+    if flags & NM_AP_FLAGS.GROUP_WEP40:
+        str = str + " GROUP_WEP40"
+    if flags & NM_AP_FLAGS.GROUP_WEP104:
+        str = str + " GROUP_WEP104"
+    if flags & NM_AP_FLAGS.GROUP_TKIP:
+        str = str + " GROUP_TKIP"
+    if flags & NM_AP_FLAGS.GROUP_CCMP:
+        str = str + " GROUP_CCMP"
+    if flags & NM_AP_FLAGS.KEY_MGMT_PSK:
+        str = str + " KEY_MGMT_PSK"
+    if flags & NM_AP_FLAGS.KEY_MGMT_802_1X:
+        str = str + " KEY_MGMT_802_1X"
+    if str:
+        return str.lstrip()
+    else:
+        return "NONE"
+
+def flags_to_security(flags, wpa_flags, rsn_flags):
+    str = ""
+    if ((flags & getattr(NM, '80211ApFlags').PRIVACY) and
+        (wpa_flags == 0) and (rsn_flags == 0)):
+        str = str  + " WEP"
+    if wpa_flags != 0:
+        str = str + " WPA1"
+    if rsn_flags != 0:
+        str = str + " WPA2"
+    if ((wpa_flags & getattr(NM, '80211ApSecurityFlags').KEY_MGMT_802_1X) or
+        (rsn_flags & getattr(NM, '80211ApSecurityFlags').KEY_MGMT_802_1X)):
+        str = str + " 802.1X"
+    return str.lstrip()
+
 def print_ap_info(ap):
     strength = ap.get_strength()
     frequency = ap.get_frequency()
+    flags = ap.get_flags()
+    wpa_flags = ap.get_wpa_flags()
+    rsn_flags = ap.get_rsn_flags()
     print "SSID:      %s"      % (ssid_to_utf8(ap))
     print "BSSID:     %s"      % (ap.get_bssid())
     print "Frequency: %s"      % (frequency)
     print "Channel:   %s"      % (NM.utils_wifi_freq_to_channel(frequency))
+    print "Mode:      %s"      % (mode_to_string(ap.get_mode()))
+    print "Flags:     %s"      % (flags_to_string(flags))
+    print "WPA flags: %s"      % (security_flags_to_string(wpa_flags))
+    print "RSN flags: %s"      % (security_flags_to_string(rsn_flags))
+    print "Security:  %s"      % (flags_to_security(flags, wpa_flags, rsn_flags))
     print "Strength:  %s %s%%" % (NM.utils_wifi_strength_bars(strength), strength)
     print