Mercurial > libervia-backend
comparison frontends/src/quick_frontend/quick_contact_list.py @ 1399:5c3d1d970b94
quick_frontend: keep the contact list groups synchronised on contact deletion
author | souliane <souliane@mailoo.org> |
---|---|
date | Wed, 01 Apr 2015 23:59:56 +0200 |
parents | 96dd0ae1a850 |
children | 8a7145138330 |
comparison
equal
deleted
inserted
replaced
1398:f8ecce11a0bc | 1399:5c3d1d970b94 |
---|---|
206 | 206 |
207 @param group: a valid (existing) group name | 207 @param group: a valid (existing) group name |
208 @param name: name of the data (can't be "jids") | 208 @param name: name of the data (can't be "jids") |
209 @param value: value to set | 209 @param value: value to set |
210 """ | 210 """ |
211 # FIXME: this is never used, should it be removed? | |
211 assert name is not 'jids' | 212 assert name is not 'jids' |
212 self._groups[group][name] = value | 213 self._groups[group][name] = value |
213 | 214 |
214 def getGroupData(self, group, name=None): | 215 def getGroupData(self, group, name=None): |
215 """Return value associated to group data | 216 """Return value associated to group data |
366 if in_roster: | 367 if in_roster: |
367 self._roster.remove(entity_bare) | 368 self._roster.remove(entity_bare) |
368 del self._cache[entity_bare] | 369 del self._cache[entity_bare] |
369 for group in groups: | 370 for group in groups: |
370 self._groups[group]['jids'].remove(entity_bare) | 371 self._groups[group]['jids'].remove(entity_bare) |
372 if not self._groups[group]['jids']: | |
373 self._groups.pop(group) | |
371 for set_ in (self._selected, self._alerts, self._specials, self._special_extras): | 374 for set_ in (self._selected, self._alerts, self._specials, self._special_extras): |
372 to_remove = set() | 375 to_remove = set() |
373 for set_entity in set_: | 376 for set_entity in set_: |
374 if set_entity.bare == entity.bare: | 377 if set_entity.bare == entity.bare: |
375 to_remove.add(set_entity) | 378 to_remove.add(set_entity) |