diff options
author | Nathan Fritz <nathan@andyet.net> | 2010-05-12 18:07:20 -0700 |
---|---|---|
committer | Nathan Fritz <nathan@andyet.net> | 2010-05-12 18:07:20 -0700 |
commit | ae41c08fecfe627627f2a4d9b3861d4ae24d673e (patch) | |
tree | 318eb2d25fb8c8211c157e35912584be2852c633 /sleekxmpp | |
parent | 223507f36f6dd4c0d4a0733a524fd529231b010b (diff) | |
download | slixmpp-ae41c08fecfe627627f2a4d9b3861d4ae24d673e.tar.gz slixmpp-ae41c08fecfe627627f2a4d9b3861d4ae24d673e.tar.bz2 slixmpp-ae41c08fecfe627627f2a4d9b3861d4ae24d673e.tar.xz slixmpp-ae41c08fecfe627627f2a4d9b3861d4ae24d673e.zip |
added test for unsolicided unavailable presence and fixed bug to make it pass
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/basexmpp.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py index fef8538a..13fe2100 100644 --- a/sleekxmpp/basexmpp.py +++ b/sleekxmpp/basexmpp.py @@ -271,12 +271,13 @@ class basexmpp(object): name = self.roster[jid].get('name', '') if show == 'unavailable': logging.debug("%s %s got offline" % (jid, resource)) - if len(self.roster[jid]['presence']): - del self.roster[jid]['presence'][resource] - else: + del self.roster[jid]['presence'][resource] + if len(self.roster[jid]['presence']) == 0 and not self.roster[jid]['in_roster']: del self.roster[jid] if not wasoffline: self.event("got_offline", presence) + else: + return False self.event("changed_status", presence) name = '' if name: |