Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-08-16 17:55:34 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-16 17:55:34 (GMT)
commit7dddefe22902fd671fdcac19da83aa7c6874b065 (patch)
tree2575da1d4a3f18dca35048dc6a965fadf96daa25
parent115eefb4c2bb8154f6834caa62be2bcba80f70dc (diff)
parent9ad1fe62aeb5b360a2c6f7e81149b5b0669ce67a (diff)
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar into demo4
-rw-r--r--shell/ConsoleWindow.py12
-rw-r--r--shell/PresenceService/PresenceService.py8
-rw-r--r--sugar/logger.py22
3 files changed, 26 insertions, 16 deletions
diff --git a/shell/ConsoleWindow.py b/shell/ConsoleWindow.py
index 5efd880..3c98bfe 100644
--- a/shell/ConsoleWindow.py
+++ b/shell/ConsoleWindow.py
@@ -47,10 +47,7 @@ class ConsoleDbusService(dbus.service.Object):
@dbus.service.method('org.laptop.Sugar.Console',
in_signature="saias", out_signature="")
def log(self, module_id, levels, messages):
- i = 0
- while i < len(levels):
- self._console.log(levels[i], module_id, messages[i])
- i += 1
+ self._console.log(module_id, levels, messages)
class ConsoleWindow(gtk.Window):
def __init__(self):
@@ -122,6 +119,9 @@ class ConsoleWindow(gtk.Window):
page = self._nb.page_num(self._consoles[page_id])
self._nb.set_current_page(page)
- def log(self, level, page_id, message):
+ def log(self, page_id, levels, messages):
console = self._get_console(page_id)
- console.log(level, message)
+ i = 0
+ while i < len(levels):
+ console.log(levels[i], messages[i])
+ i += 1
diff --git a/shell/PresenceService/PresenceService.py b/shell/PresenceService/PresenceService.py
index 3f655b9..72e9460 100644
--- a/shell/PresenceService/PresenceService.py
+++ b/shell/PresenceService/PresenceService.py
@@ -265,7 +265,13 @@ class PresenceService(object):
self._bus_name = dbus.service.BusName(_PRESENCE_SERVICE, bus=self._session_bus)
self._dbus_helper = PresenceServiceDBusHelper(self, self._bus_name)
+ self._started = False
+
def start(self):
+ if self._started:
+ return
+ self._started = True
+
# Connect to Avahi for mDNS stuff
self._system_bus = dbus.SystemBus()
self._mdns_service = dbus.Interface(self._system_bus.get_object(avahi.DBUS_NAME,
@@ -661,8 +667,6 @@ class PresenceService(object):
if not group:
raise ValueError("Service was not a local service provided by this laptop!")
group.Free()
- key = (service.get_full_name(), service.get_type())
- del self._services[key]
def register_service_type(self, stype):
"""Requests that the Presence service look for and recognize
diff --git a/sugar/logger.py b/sugar/logger.py
index 9328058..e5bc37c 100644
--- a/sugar/logger.py
+++ b/sugar/logger.py
@@ -20,19 +20,21 @@ class MessageQueue:
self._console_id = console_id
self._levels = []
self._messages = []
-
+ self._bus = dbus.SessionBus()
+
if self._console == None:
- bus = dbus.SessionBus()
- con = bus._connection
+ con = self._bus._connection
if dbus.dbus_bindings.bus_name_has_owner(con, CONSOLE_BUS_NAME):
self.setup_console()
- bus.add_signal_receiver(self.__name_owner_changed,
+ else:
+ self._bus.add_signal_receiver(
+ self.__name_owner_changed,
dbus_interface = "org.freedesktop.DBus",
signal_name = "NameOwnerChanged")
def setup_console(self):
- bus = dbus.SessionBus()
- proxy_obj = bus.get_object(CONSOLE_BUS_NAME, CONSOLE_OBJECT_PATH)
+ proxy_obj = self._bus.get_object(CONSOLE_BUS_NAME,
+ CONSOLE_OBJECT_PATH)
self._console = dbus.Interface(proxy_obj, CONSOLE_IFACE)
self._queue_log()
@@ -51,8 +53,12 @@ class MessageQueue:
if self._console == None or len(self._messages) == 0:
return False
- self._console.log(self._console_id, self._levels,
- self._messages, timeout = 1000)
+ if isinstance(self._console, dbus.Interface):
+ self._console.log(self._console_id, self._levels,
+ self._messages, timeout = 1000)
+ else:
+ self._console.log(self._console_id, self._levels,
+ self._messages)
self._levels = []
self._messages = []