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

Make sure autoconnect.py never blocks

Tweak configmanager to not write a default value unless one is specified in the get call.
This commit is contained in:
Dan O'Reilly
2008-12-13 19:39:15 -05:00
parent 742bf5f8ce
commit 41c975a22a
2 changed files with 13 additions and 12 deletions

View File

@@ -20,25 +20,23 @@
import dbus
import time
import gobject
import sys
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
proxy_obj = bus.get_object('org.wicd.daemon', '/org/wicd/daemon')
daemon = dbus.Interface(proxy_obj, 'org.wicd.daemon')
loop = gobject.MainLoop()
def reply_handle():
loop.quit()
def error_handle(e):
def handler(*args):
loop.quit()
print daemon.Hello()
time.sleep(3)
daemon.SetSuspend(False)
if not daemon.CheckIfConnecting():
print daemon.AutoConnect(True, reply_handler=reply_handle,
error_handler=error_handle)
daemon.SetForcedDisconnect(False)
loop = gobject.MainLoop()
loop.run()
daemon.AutoConnect(True, reply_handler=handler, error_handler=handler)

View File

@@ -66,7 +66,7 @@ class ConfigManager(RawConfigParser):
""" Calls the set_option method. """
self.set_option(*args, **kargs)
def get_option(self, section, option, default=None):
def get_option(self, section, option, default="__None__"):
""" Wrapper around ConfigParser.get.
Automatically adds any missing sections, adds the ability
@@ -82,10 +82,13 @@ class ConfigManager(RawConfigParser):
if default:
print ''.join(['found ', option, ' in configuration ', ret])
else:
print ''.join(['did not find ', option,
if default != "__None__":
print ''.join(['did not find ', option,
' in configuration, setting default ', str(default)])
self.set(section, option, str(default), save=True)
ret = default
self.set(section, option, str(default), save=True)
ret = default
else:
ret = None
# Try to intelligently handle the type of the return value.
try: