1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-24 23:22:27 +01:00

Merged mainline.

This commit is contained in:
Robby Workman
2009-02-09 20:40:35 -06:00
3 changed files with 27 additions and 18 deletions

View File

@@ -2,3 +2,4 @@ experimental.wpr
install.log
uninstall.log
.bzrignore
vcsinfo.py

View File

@@ -313,16 +313,20 @@ def get_gettext():
# http://www.learningpython.com/2006/12/03/translating-your-pythonpygtk-application/
local_path = wpath.translations
langs = []
osLanguage = os.environ.get('LANGUAGE', None)
if osLanguage:
langs += osLanguage.split(":")
osLanguage = None
osLanguage = os.environ.get('LC_MESSAGES', None)
if osLanguage:
langs += osLanguage.split(":")
try:
lc, encoding = locale.getdefaultlocale()
except ValueError, e:
print str(e)
print "Default locale unavailable, falling back to en_US"
if (lc):
langs = [lc]
osLanguage = os.environ.get('LANGUAGE', None)
if (osLanguage):
langs += osLanguage.split(":")
langs += [lc]
langs += ["en_US"]
lang = gettext.translation('wicd', local_path, languages=langs,
fallback=True)
@@ -405,17 +409,19 @@ def choose_sudo_prog(prog_num=0):
return find_path(sudo_dict[prog_num])
desktop_env = detect_desktop_environment()
env_path = os.environ['PATH'].split(":")
paths = []
if desktop_env == "kde":
paths = []
for p in env_path:
paths.extend([p + '/kdesu', p + '/kdesudo', p + '/ktsuss'])
progs = ["kdesu", "kdesudo", "ktusss"]
else:
paths = []
for p in env_path:
paths.extend([p + '/gksudo', p + "/gksu", p + '/ktsuss'])
progs = ["gksudo", "gksu", "ktsuss"]
for prog in progs:
paths.extend([os.path.join(p, prog) for p in env_path])
for path in paths:
if os.path.exists(path):
print "returning %s" % path
return path
return None

View File

@@ -921,6 +921,7 @@ class WirelessDaemon(dbus.service.Object):
self.wifi = wifi
self._debug_mode = debug
self.forced_disconnect = False
self._scanning = False
self.LastScan = []
self.config = ConfigManager(os.path.join(wpath.etc,
"wireless-settings.conf"),
@@ -949,6 +950,10 @@ class WirelessDaemon(dbus.service.Object):
be done synchronously.
"""
if self._scanning:
if self.debug_mode:
print "scan already in progress, skipping"
return False
if self.debug_mode:
print 'scanning start'
self.SendStartScanSignal()
@@ -956,6 +961,7 @@ class WirelessDaemon(dbus.service.Object):
self._sync_scan()
else:
self._async_scan()
return True
@misc.threaded
def _async_scan(self):
@@ -1251,12 +1257,12 @@ class WirelessDaemon(dbus.service.Object):
@dbus.service.signal(dbus_interface='org.wicd.daemon.wireless', signature='')
def SendStartScanSignal(self):
""" Emits a signal announcing a scan has started. """
pass
self._scanning = True
@dbus.service.signal(dbus_interface='org.wicd.daemon.wireless', signature='')
def SendEndScanSignal(self):
""" Emits a signal announcing a scan has finished. """
pass
self._scanning = False
def _wireless_autoconnect(self, fresh=True):
""" Attempts to autoconnect to a wireless network. """
@@ -1266,9 +1272,7 @@ class WirelessDaemon(dbus.service.Object):
print 'Autoconnect failed because wireless interface returned None'
return
if fresh:
print 'start scan'
self.Scan(sync=True)
print 'end scan'
for x, network in enumerate(self.LastScan):
if bool(network["has_profile"]):
@@ -1674,10 +1678,8 @@ def main(argv):
wicd_bus = dbus.service.BusName('org.wicd.daemon', bus=bus)
daemon = WicdDaemon(wicd_bus, auto_connect=auto_connect)
if not no_poll:
(child_pid, x, x, x) = gobject.spawn_async(
[misc.find_path("python"), "-O", os.path.join(wpath.lib, "monitor.py")],
flags=gobject.SPAWN_CHILD_INHERITS_STDIN
)
(child_pid, x, y, z) = gobject.spawn_async(
[misc.find_path("python"), "-O", os.path.join(wpath.lib, "monitor.py")])
signal.signal(signal.SIGTERM, sigterm_caught)
# Enter the main loop