Merge lp:~zeitgeist/zeitgeist/no-reconnect into lp:zeitgeist/0.1

Proposed by Siegfried Gevatter
Status: Merged
Approved by: Seif Lotfy
Approved revision: 1792
Merged at revision: 1793
Proposed branch: lp:~zeitgeist/zeitgeist/no-reconnect
Merge into: lp:zeitgeist/0.1
Diff against target: 66 lines (+9/-4)
2 files modified
_zeitgeist/singleton.py (+1/-1)
zeitgeist/client.py (+8/-3)
To merge this branch: bzr merge lp:~zeitgeist/zeitgeist/no-reconnect
Reviewer Review Type Date Requested Status
Seif Lotfy Approve
Review via email: mp+67949@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Seif Lotfy (seif) wrote :

tested an it works like charm... good job
smart code

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '_zeitgeist/singleton.py'
2--- _zeitgeist/singleton.py 2011-04-22 19:19:10 +0000
3+++ _zeitgeist/singleton.py 2011-07-14 11:52:31 +0000
4@@ -84,7 +84,7 @@
5 else:
6 logging.debug("Replacing currently running process...")
7 try:
8- interface = ZeitgeistDBusInterface()
9+ interface = ZeitgeistDBusInterface(reconnect=False)
10 interface.Quit()
11 while dbus.SessionBus().name_has_owner(ZeitgeistDBusInterface.BUS_NAME):
12 pass
13
14=== modified file 'zeitgeist/client.py'
15--- zeitgeist/client.py 2011-07-07 23:39:37 +0000
16+++ zeitgeist/client.py 2011-07-14 11:52:31 +0000
17@@ -67,6 +67,8 @@
18 return methods, signals
19
20 def reconnect(self):
21+ if not self._reconnect_when_needed:
22+ return
23 self.__proxy = dbus.SessionBus().get_object(
24 self.__iface.requested_bus_name, self.__object_path)
25 self.__iface = dbus.Interface(self.__proxy, self.__interface_name)
26@@ -156,11 +158,12 @@
27 self.__methods, self.__signals = self.get_members(
28 self.__proxy.Introspect())
29
30- def __init__(self, proxy, interface_name, object_path):
31+ def __init__(self, proxy, interface_name, object_path, reconnect=True):
32 self.__proxy = proxy
33 self.__interface_name = interface_name
34 self.__object_path = object_path
35 self.__iface = dbus.Interface(proxy, interface_name)
36+ self._reconnect_when_needed = reconnect
37 self._load_introspection_data()
38
39 self._disconnect_callbacks = set()
40@@ -173,6 +176,8 @@
41 callbacks = self._disconnect_callbacks
42 self.__methods = self.__signals = None
43 else:
44+ if not self._reconnect_when_needed:
45+ return
46 self.reconnect()
47 callbacks = self._reconnect_callbacks
48 for signal, callback in self._generic_callbacks:
49@@ -235,7 +240,7 @@
50 cls.__shared_state["extension_interfaces"][name] = iface
51 return cls.__shared_state["extension_interfaces"][name]
52
53- def __init__(self):
54+ def __init__(self, reconnect=True):
55 if not "dbus_interface" in self.__shared_state:
56 try:
57 proxy = dbus.SessionBus().get_object(self.BUS_NAME,
58@@ -249,7 +254,7 @@
59 raise
60 self.__shared_state["extension_interfaces"] = {}
61 self.__shared_state["dbus_interface"] = _DBusInterface(proxy,
62- self.INTERFACE_NAME, self.OBJECT_PATH)
63+ self.INTERFACE_NAME, self.OBJECT_PATH, reconnect)
64
65 class Monitor(dbus.service.Object):
66 """