I am writing a (python) script to restart VPN connections if they shut
down. Here's what I have:
#!/usr/bin/env python
import gobject, dbus
from dbus.mainloop.glib import DBusGMainLoop
CONNECTED = 5
DISCONNECTED = 7
DBusGMainLoop(set_as_default=True)
system_bus = dbus.SystemBus()
def vpn_connection_handler(*args, **kwargs):
state = args[0]
if state == CONNECTED:
print "connected"
elif state == DISCONNECTED:
print "disconnected"
ppp0 = system_bus.get_object('org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager/VPN/Plugin')
ppp0_dev_iface = dbus.Interface(ppp0,
dbus_interface='org.freedesktop.NetworkManager.VPN.Plugin')
value = []
props = ppp0_dev_iface.Connect({"ppp0": {"ppp0": value}})
print props
system_bus.add_signal_receiver(vpn_connection_handler,
dbus_interface="org.freedesktop.NetworkManager.VPN.Connection",
signal_name="VpnStateChanged")
gobject.MainLoop().run()
If you try it, you'll notice that the reconnection part doesn't work.
Little help?
Thanks!
Attachment:
signature.asc
Description: This is a digitally signed message part