# HG changeset patch # User souliane # Date 1423134642 -3600 # Node ID ef7e8e23b35385469296651054966efca69d1caf # Parent ebf72fe68d1c3ead3d135f56794d3c0ffec09562 quick_frontend: add some properties for QuickContactList diff -r ebf72fe68d1c -r ef7e8e23b353 frontends/src/quick_frontend/quick_contact_list.py --- a/frontends/src/quick_frontend/quick_contact_list.py Fri Feb 06 10:50:01 2015 +0100 +++ b/frontends/src/quick_frontend/quick_contact_list.py Thu Feb 05 12:10:42 2015 +0100 @@ -83,6 +83,36 @@ 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):