#!/usr/bin/python3 import dbus import subprocess import sys import time def dump_routing_table(): ret = subprocess.check_output(["ip", "route"]) if (len(ret) == 0): print("Empty routing table!!!") exit(1) else: str = ret.decode('utf-8') count = str.count('ccmni0') if (count == 0): print("No ccmni0 in routing table!"); exit(1) def block(manager): ret = manager.Set('org.freedesktop.NetworkManager', 'WirelessEnabled', dbus.Boolean(0)) print(ret) def unblock(manager): ret = manager.Set('org.freedesktop.NetworkManager', 'WirelessEnabled', dbus.Boolean(1)) print(ret) return ret if __name__ == "__main__": bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager'), 'org.freedesktop.DBus.Properties') for num in range(1,3): ret = unblock(manager) print("WiFi enabled; iteration {}".format(num)) time.sleep(10) ret = block(manager) print("WiFi disabled; iteration {}".format(num)) dump_routing_table() time.sleep(10) print("All done")