Merge lp:~didrocks/software-center/new-oneconf-sync-signal into lp:software-center

Proposed by Didier Roche-Tolomelli
Status: Merged
Merged at revision: 2414
Proposed branch: lp:~didrocks/software-center/new-oneconf-sync-signal
Merge into: lp:software-center
Diff against target: 37 lines (+8/-2)
1 file modified
softwarecenter/backend/oneconfhandler.py (+8/-2)
To merge this branch: bzr merge lp:~didrocks/software-center/new-oneconf-sync-signal
Reviewer Review Type Date Requested Status
Michael Vogt Pending
Review via email: mp+76575@code.launchpad.net

Description of the change

enable getting a last sync accurate date as soon as the sync is done (LP: #855345)

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'softwarecenter/backend/oneconfhandler.py'
2--- softwarecenter/backend/oneconfhandler.py 2011-09-02 03:53:36 +0000
3+++ softwarecenter/backend/oneconfhandler.py 2011-09-22 12:36:41 +0000
4@@ -58,10 +58,12 @@
5
6 # OneConf stuff
7 self.oneconf = DbusConnect()
8- self.oneconf.hosts_dbus_object.connect_to_signal("hostlist_changed",
9+ self.oneconf.hosts_dbus_object.connect_to_signal('hostlist_changed',
10 self.refresh_hosts)
11 self.oneconf.hosts_dbus_object.connect_to_signal('packagelist_changed',
12 self._on_store_packagelist_changed)
13+ self.oneconf.hosts_dbus_object.connect_to_signal('latestsync_changed',
14+ self.on_new_latest_oneconf_sync_timestamp)
15 self.already_registered_hostids = []
16 self.is_current_registered = False
17
18@@ -106,6 +108,11 @@
19 This function is also the "ping" letting OneConf service alive'''
20 LOG.debug("get latest sync state")
21 timestamp = self.oneconf.get_last_sync_date()
22+ self.on_new_latest_oneconf_sync_timestamp(timestamp)
23+ return True
24+
25+ def on_new_latest_oneconf_sync_timestamp(self, timestamp):
26+ '''Callback computing the right message for latest sync time'''
27 try:
28 last_sync = datetime.datetime.fromtimestamp(float(timestamp))
29 today = datetime.datetime.strptime(str(datetime.date.today()), '%Y-%m-%d')
30@@ -120,7 +127,6 @@
31 except (TypeError, ValueError):
32 msg = _("To sync with another computer, choose “Sync Between Computers” from that computer.")
33 self.emit("last-time-sync-changed", msg)
34- return True
35
36 def _share_inventory(self, share_inventory):
37 '''set oneconf state and emit signal for installed view to show or not oneconf'''