diff --git a/src/core/xmpp.py b/src/core/xmpp.py index 1d96c2de..d9e7f236 100644 --- a/src/core/xmpp.py +++ b/src/core/xmpp.py @@ -323,18 +323,19 @@ class SatPresenceProtocol(xmppim.PresenceClientProtocol): except ValueError: priority = 0 - if not statuses: + if statuses is None: statuses = {} - # default for us is None for wokkel - # so we must temporarily switch to wokkel's convention... - if 'default' in statuses: - statuses[None] = statuses['default'] - xmppim.PresenceClientProtocol.available(self, entity, show, statuses, priority) - presence_elt = xmppim.AvailablePresence(entity, show, statuses, priority) - if not self.host.trigger.point("presence_available", presence_elt, self.parent): - return - self.send(presence_elt) + # default for us is None for wokkel + # so we must temporarily switch to wokkel's convention... + if 'default' in statuses: + statuses[None] = statuses['default'] + + xmppim.PresenceClientProtocol.available(self, entity, show, statuses, priority) + presence_elt = xmppim.AvailablePresence(entity, show, statuses, priority) + if not self.host.trigger.point("presence_available", presence_elt, self.parent): + return + self.send(presence_elt) # ... before switching back if None in statuses: