backend, bridge: asynchronous history

quick_frontend: use of asynchronous history
This commit is contained in:
Goffi 2011-11-08 01:08:11 +01:00
commit f1966d9692

View file

@ -87,13 +87,18 @@ class QuickChat():
def historyPrint(self, size=20, keep_last=False, profile='@NONE@'):
"""Print the initial history"""
debug (_("now we print history"))
history=self.host.bridge.getHistory(self.host.profiles[profile]['whoami'].short, self.target, 20)
stamps=history.keys()
stamps.sort()
for stamp in stamps:
self.printMessage(JID(history[stamp][0]), history[stamp][1], profile, stamp)
if keep_last: ##FIXME hack for sortilege
self.last_history = stamps[-1] if stamps else None
def onHistory(history):
stamps=history.keys()
stamps.sort()
for stamp in stamps:
from_jid, to_jid, message = history[stamp]
self.printMessage(JID(from_jid), message, profile, stamp)
if keep_last: ##FIXME hack for sortilege
self.last_history = stamps[-1] if stamps else None
def onHistoryError(err):
error (_("Can't get history"))
history=self.host.bridge.getHistory(self.host.profiles[profile]['whoami'].short, self.target.short, 20, callback=onHistory, errback=onHistoryError)
def _get_nick(self, jid):
"""Return nick of this jid when possible"""