core, plugin XEP-0054: avatar upload:

- plugin XEP-0054: new setAvatar bridge method
    - new "presence_available" trigger
    - new DataError
This commit is contained in:
Goffi 2012-12-28 01:00:31 +01:00
commit 181d08f2e4
2 changed files with 96 additions and 24 deletions

View file

@ -36,3 +36,6 @@ class UnknownGroupError(Exception):
class NotFound(Exception):
pass
class DataError(Exception):
pass

View file

@ -297,18 +297,22 @@ class SatPresenceProtocol(xmppim.PresenceClientProtocol):
def available(self, entity=None, show=None, statuses=None, priority=0):
if not statuses:
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']
if not statuses:
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)
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:
del statuses[None]
# ... before switching back
if None in statuses:
del statuses[None]
def subscribed(self, entity):
xmppim.PresenceClientProtocol.subscribed(self, entity)