aboutsummaryrefslogtreecommitdiffstats
path: root/machammer/network.py
diff options
context:
space:
mode:
Diffstat (limited to 'machammer/network.py')
-rw-r--r--machammer/network.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/machammer/network.py b/machammer/network.py
index 2c4dcfc..e1a9058 100644
--- a/machammer/network.py
+++ b/machammer/network.py
@@ -1,9 +1,12 @@
# -*- coding: utf-8 -*-
"""Network-related machammer functions."""
+from .process import kill
from .functions import call, check_output
from .system_profiler import SystemProfile
+NETWORKSETUP = '/usr/sbin/networksetup'
+
def get_ports(type='Ethernet'):
"""Return all devices of type (Ethernet, AirPort)"""
@@ -15,7 +18,12 @@ def set_wifi_power(on=True):
"""Set AirPort power to on (True) or off (False)"""
state = 'on' if on else 'off'
for i in get_ports('AirPort'):
- call('/usr/sbin/networksetup', '-setairportpower', i['interface'], state)
+ call(NETWORKSETUP, '-setairportpower', i['interface'], state)
+
+
+def disable_wifi(port='en1'):
+ call(NETWORKSETUP, '-setairportpower', port, 'off')
+ call(NETWORKSETUP, '-setnetworkserviceenabled', 'Wi-Fi', 'off')
def get_wifi_power():
@@ -23,7 +31,7 @@ def get_wifi_power():
results = []
for i in get_ports('AirPort'):
iface = i['interface']
- r = check_output('/usr/sbin/networksetup', '-getairportpower', iface)
+ r = check_output(NETWORKSETUP, '-getairportpower', iface)
results.append(r.split(': ')[1])
return 'On' in results
@@ -59,4 +67,4 @@ def get_primary(port=None):
def flush_dns():
"""Flush the DNS cache."""
- call('/usr/bin/killall', '-HUP', 'mDNSResponder')
+ kill('mDNSResponder', 'HUP')