1
0
mirror of https://github.com/gryf/wicd.git synced 2026-01-30 20:45:46 +01:00

Initial crack at global scripts support. Also includes some setup.py tweaks.

This commit is contained in:
Dan O'Reilly
2009-02-27 00:40:19 -05:00
parent a23fbcede5
commit e40afce104
3 changed files with 52 additions and 25 deletions

View File

@@ -202,10 +202,12 @@ class Controller(object):
def Disconnect(self, *args, **kargs):
""" Disconnect from the network. """
iface = self.iface
if self.disconnect_script != None:
misc.ExecuteScripts(wpath.disconnectscripts, self.debug)
if self.disconnect_script:
print 'Running disconnect script'
misc.ExecuteScript(expand_script_macros(self.disconnect_script,
'disconnection', *args))
'disconnection', *args),
self.debug)
iface.ReleaseDHCP()
iface.SetAddress('0.0.0.0')
iface.FlushRoutes()
@@ -368,6 +370,10 @@ class ConnectThread(threading.Thread):
self.SetStatus('interface_down')
iface.Down()
@abortable
def run_global_scripts_if_needed(self, script_dir):
misc.ExecuteScripts(script_dir, verbose=self.debug)
@abortable
def run_script_if_needed(self, script, msg, bssid='wired', essid='wired'):
""" Execute a given script if needed.
@@ -379,7 +385,8 @@ class ConnectThread(threading.Thread):
"""
if script:
print 'Executing %s script' % (msg)
misc.ExecuteScript(expand_script_macros(script, msg, bssid, essid))
misc.ExecuteScript(expand_script_macros(script, msg, bssid, essid),
self.debug)
@abortable
def flush_routes(self, iface):
@@ -761,6 +768,7 @@ class WirelessConnectThread(ConnectThread):
self.is_connecting = True
# Run pre-connection script.
self.run_global_scripts_if_needed(wpath.preconnectscripts)
self.run_script_if_needed(self.before_script, 'pre-connection',
self.network['bssid'], self.network['essid'])
@@ -803,6 +811,7 @@ class WirelessConnectThread(ConnectThread):
self.set_dns_addresses()
# Run post-connection script.
self.run_global_scripts_if_needed(wpath.postconnectscripts)
self.run_script_if_needed(self.after_script, 'post-connection',
self.network['bssid'], self.network['essid'])
@@ -971,6 +980,7 @@ class WiredConnectThread(ConnectThread):
self.is_connecting = True
# Run pre-connection script.
self.run_global_scripts_if_needed(wpath.preconnectscripts)
self.run_script_if_needed(self.before_script, 'pre-connection', 'wired',
'wired')
@@ -989,6 +999,7 @@ class WiredConnectThread(ConnectThread):
self.set_dns_addresses()
# Run post-connection script.
self.run_global_scripts_if_needed(wpath.postconnectscripts)
self.run_script_if_needed(self.after_script, 'post-connection', 'wired',
'wired')