diff --git a/frontends/src/quick_frontend/quick_chat.py b/frontends/src/quick_frontend/quick_chat.py index cd976b5d..e413e86f 100644 --- a/frontends/src/quick_frontend/quick_chat.py +++ b/frontends/src/quick_frontend/quick_chat.py @@ -156,7 +156,10 @@ class QuickChat(quick_widgets.QuickWidget): @param search (str): pattern to filter the history results @param profile (str): %(doc_profile)s """ - log.debug(_("now we print the history (%d messages)") % size) + log_msg = _(u"now we print the history") + if size != C.HISTORY_LIMIT_DEFAULT: + log_msg += _(u" (%d messages)" % size) + log.debug(log_msg) def onHistory(history): for line in history: diff --git a/frontends/src/quick_frontend/quick_contact_list.py b/frontends/src/quick_frontend/quick_contact_list.py index dd9dc956..594d0284 100644 --- a/frontends/src/quick_frontend/quick_contact_list.py +++ b/frontends/src/quick_frontend/quick_contact_list.py @@ -83,6 +83,36 @@ class QuickContactList(QuickWidget): return False return entity in self._cache + @property + def roster_entities(self): + """Return all the bare JIDs of the roster entities. + + @return: set(jid.JID) + """ + return self._roster + + @property + def roster_entities_by_group(self): + """Return a dictionary binding the roster groups to their entities bare JIDs. + + @return: dict{unicode: set(jid.JID)} + """ + return {group: self._groups[group]['jids'] for group in self._groups} + + @property + def roster_groups_by_entity(self, contact_jid_s): + """Return a dictionary binding the entities bare JIDs to their roster groups. + + @return: dict{jid.JID: set(unicode)} + """ + result = {} + for group, data in self._groups.iteritems(): + if group is None: + continue + for entity in data['jids']: + result.setdefault(entity, set()).add(group) + return result + def fill(self): """Get all contacts from backend, and fill the widget""" def gotContacts(contacts):