Mercurial > libervia-backend
diff frontends/src/quick_frontend/quick_contact_list.py @ 1297:ef7e8e23b353 frontends_multi_profiles
quick_frontend: add some properties for QuickContactList
author | souliane <souliane@mailoo.org> |
---|---|
date | Thu, 05 Feb 2015 12:10:42 +0100 |
parents | faa1129559b8 |
children | 3dc7f61677bb |
line wrap: on
line diff
--- 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):