Mercurial > libervia-backend
comparison src/core/xmpp.py @ 1300:ba73798317a7 frontends_multi_profiles
core: fixed items registration in roster management
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 06 Feb 2015 18:54:44 +0100 |
parents | 3360074a2f00 |
children | be3a301540c0 |
comparison
equal
deleted
inserted
replaced
1299:3360074a2f00 | 1300:ba73798317a7 |
---|---|
178 self._jids = None # map from jids to RosterItem: key=jid value=RosterItem | 178 self._jids = None # map from jids to RosterItem: key=jid value=RosterItem |
179 | 179 |
180 def rosterCb(self, roster): | 180 def rosterCb(self, roster): |
181 assert roster is not None # FIXME: must be managed with roster versioning | 181 assert roster is not None # FIXME: must be managed with roster versioning |
182 self._jids = roster | 182 self._jids = roster |
183 for roster_item in roster.itervalues(): | |
184 self._registerItem(roster_item) | |
183 | 185 |
184 def _registerItem(self, item): | 186 def _registerItem(self, item): |
185 """Register item in local cache | 187 """Register item in local cache |
186 | 188 |
187 item must be already registered in self._jids before this method is called | 189 item must be already registered in self._jids before this method is called |
263 | 265 |
264 def getGroups(self): | 266 def getGroups(self): |
265 """Return a list of groups""" | 267 """Return a list of groups""" |
266 return self._groups.keys() | 268 return self._groups.keys() |
267 | 269 |
268 def getItem(self, jid): | 270 def getItem(self, entity_jid): |
269 """Return RosterItem for a given jid | 271 """Return RosterItem for a given jid |
270 | 272 |
271 @param jid: jid of the contact | 273 @param entity_jid: jid of the contact |
272 @return: RosterItem or None if contact is not in cache | 274 @return: RosterItem or None if contact is not in cache |
273 """ | 275 """ |
274 return self._jids.get(jid, None) | 276 return self._jids.get(entity_jid, None) |
275 | 277 |
276 def getJids(self): | 278 def getJids(self): |
277 """Return all jids of the roster""" | 279 """Return all jids of the roster""" |
278 return self._jids.keys() | 280 return self._jids.keys() |
279 | 281 |
287 | 289 |
288 def getJidsFromGroup(self, group): | 290 def getJidsFromGroup(self, group): |
289 try: | 291 try: |
290 return self._groups[group] | 292 return self._groups[group] |
291 except KeyError: | 293 except KeyError: |
292 raise exceptions.UnknownGroupError | 294 raise exceptions.UnknownGroupError(group) |
293 | 295 |
294 | 296 |
295 class SatPresenceProtocol(xmppim.PresenceClientProtocol): | 297 class SatPresenceProtocol(xmppim.PresenceClientProtocol): |
296 | 298 |
297 def __init__(self, host): | 299 def __init__(self, host): |