diff src/core/xmpp.py @ 2543:60758de1c227

plugin XEP-0115: fixed caps initial check
author Goffi <goffi@goffi.org>
date Fri, 30 Mar 2018 17:51:32 +0200
parents a201194fc461
children
line wrap: on
line diff
--- a/src/core/xmpp.py	Thu Mar 29 09:09:33 2018 +0200
+++ b/src/core/xmpp.py	Fri Mar 30 17:51:32 2018 +0200
@@ -190,7 +190,7 @@
         self._connected.addCallback(self._disconnectionCb)
         self._connected.addErrback(self._disconnectionEb)
 
-        log.info(_("********** [%s] CONNECTED **********") % self.profile)
+        log.info(_(u"********** [{profile}] CONNECTED **********").format(profile=self.profile))
         self.streamInitialized()
         self.host_app.bridge.connected(self.profile, unicode(self.jid))  # we send the signal to the clients
 
@@ -234,7 +234,7 @@
             self.host_app.bridge.disconnected(self.profile)  # we send the signal to the clients
             self._connected.callback(None)
             self.host_app.purgeEntity(self.profile)  # and we remove references to this client
-            log.info(_("********** [%s] DISCONNECTED **********") % self.profile)
+            log.info(_(u"********** [{profile}] DISCONNECTED **********").format(profile=self.profile))
         if not self.conn_deferred.called:
             # FIXME: real error is not gotten here (e.g. if jid is not know by Prosody,
             #        we should have the real error)
@@ -968,9 +968,10 @@
         self.host = host
 
     def send(self, obj):
-        if not self.host.trigger.point("Presence send", self.parent, obj):
+        presence_d = defer.succeed(None)
+        if not self.host.trigger.point("Presence send", self.parent, obj, presence_d):
             return
-        super(SatPresenceProtocol, self).send(obj)
+        presence_d.addCallback(lambda __: super(SatPresenceProtocol, self).send(obj))
 
     def availableReceived(self, entity, show=None, statuses=None, priority=0):
         log.debug(_(u"presence update for [%(entity)s] (available, show=%(show)s statuses=%(statuses)s priority=%(priority)d)") % {'entity': entity, C.PRESENCE_SHOW: show, C.PRESENCE_STATUSES: statuses, C.PRESENCE_PRIORITY: priority})