summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Beggs <macdiesel@speakeasy.net>2010-05-12 07:46:07 -0400
committerBrian Beggs <macdiesel@speakeasy.net>2010-05-12 07:46:07 -0400
commit1521a8b5c9d656ef80a4caf3d7daa86f8f504423 (patch)
treebda49cc00690314c4172d570d439223881559196
parent70f69c180cb828f0a76b0d9a441c98036cc96fb0 (diff)
parent8515cef11734613267b1b31f543bca620beac864 (diff)
downloadslixmpp-1521a8b5c9d656ef80a4caf3d7daa86f8f504423.tar.gz
slixmpp-1521a8b5c9d656ef80a4caf3d7daa86f8f504423.tar.bz2
slixmpp-1521a8b5c9d656ef80a4caf3d7daa86f8f504423.tar.xz
slixmpp-1521a8b5c9d656ef80a4caf3d7daa86f8f504423.zip
Merge remote branch 'fritzy/master'
-rw-r--r--conn_tests/test_pubsubserver.py2
-rw-r--r--sleekxmpp/basexmpp.py26
-rw-r--r--sleekxmpp/plugins/xep_0045.py12
3 files changed, 18 insertions, 22 deletions
diff --git a/conn_tests/test_pubsubserver.py b/conn_tests/test_pubsubserver.py
index a0973cc4..7e5b57b0 100644
--- a/conn_tests/test_pubsubserver.py
+++ b/conn_tests/test_pubsubserver.py
@@ -65,7 +65,7 @@ class TestPubsubServer(unittest.TestCase):
"""Retrieving node config and reconfiguring"""
nconfig = self.xmpp1['xep_0060'].getNodeConfig(self.pshost, 'testnode2')
self.failUnless(nconfig, "No configuration returned")
- #print("%s == %s" % (nconfig.getValues(), self.statev['defaultconfig'].getValues()))
+ #print("\n%s ==\n %s" % (nconfig.getValues(), self.statev['defaultconfig'].getValues()))
self.failUnless(nconfig.getValues() == self.statev['defaultconfig'].getValues(), "Configuration does not match")
self.failUnless(self.xmpp1['xep_0060'].setNodeConfig(self.pshost, 'testnode2', nconfig))
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py
index cc0f1087..fef8538a 100644
--- a/sleekxmpp/basexmpp.py
+++ b/sleekxmpp/basexmpp.py
@@ -261,27 +261,23 @@ class basexmpp(object):
if not presence['from'].bare in self.roster:
self.roster[jid] = {'groups': [], 'name': '', 'subscription': 'none', 'presence': {}, 'in_roster': False}
if not resource in self.roster[jid]['presence']:
+ if (show == 'available' or show in presence.showtypes):
+ self.event("got_online", presence)
wasoffline = True
- self.roster[jid]['presence'][resource] = {'show': show, 'status': status, 'priority': priority}
- else:
- if self.roster[jid]['presence'][resource].get('show', 'unavailable') == 'unavailable':
- wasoffline = True
- self.roster[jid]['presence'][resource] = {'show': show, 'status': status}
- self.roster[jid]['presence'][resource]['priority'] = priority
+ self.roster[jid]['presence'][resource] = {}
+ if self.roster[jid]['presence'][resource].get('show', 'unavailable') == 'unavailable':
+ wasoffline = True
+ self.roster[jid]['presence'][resource] = {'show': show, 'status': status, 'priority': priority}
name = self.roster[jid].get('name', '')
- if wasoffline and (show == 'available' or show in presence.showtypes):
- self.event("got_online", presence)
- self.event("changed_status", presence)
- elif show == 'unavailable':
+ if show == 'unavailable':
logging.debug("%s %s got offline" % (jid, resource))
- if len(self.roster[jid]['presence']) > 1:
+ if len(self.roster[jid]['presence']):
del self.roster[jid]['presence'][resource]
else:
del self.roster[jid]
- self.event("got_offline", presence)
- self.event("changed_status", presence)
- elif oldroster != self.roster.get(jid, {'presence': {}})['presence'].get(resource, {}):
- self.event("changed_status", presence)
+ if not wasoffline:
+ self.event("got_offline", presence)
+ self.event("changed_status", presence)
name = ''
if name:
name = "(%s) " % name
diff --git a/sleekxmpp/plugins/xep_0045.py b/sleekxmpp/plugins/xep_0045.py
index 7fc8a2bf..240e6b9a 100644
--- a/sleekxmpp/plugins/xep_0045.py
+++ b/sleekxmpp/plugins/xep_0045.py
@@ -147,12 +147,12 @@ class xep_0045(base.base_plugin):
"""
self.xmpp.event('groupchat_message', msg)
- def jidInRoom(self, room, jid):
- for nick in self.rooms[room]:
- entry = self.rooms[room][nick]
- if entry is not None and entry['jid'].full == jid:
- return True
- return False
+ def jidInRoom(self, room, jid):
+ for nick in self.rooms[room]:
+ entry = self.rooms[room][nick]
+ if entry is not None and entry['jid'].full == jid:
+ return True
+ return False
def getRoomForm(self, room, ifrom=None):
iq = self.xmpp.makeIqGet()