diff --git a/sat/plugins/plugin_xep_0234.py b/sat/plugins/plugin_xep_0234.py index ecb26929..d234a3f3 100644 --- a/sat/plugins/plugin_xep_0234.py +++ b/sat/plugins/plugin_xep_0234.py @@ -351,7 +351,7 @@ class XEP_0234: self, peer_jid, filepath, name="", file_hash="", hash_algo="", extra=None, profile=C.PROF_KEY_NONE): client = self.host.getClient(profile) - return self.fileJingleRequest( + return defer.ensureDeferred(self.fileJingleRequest( client, jid.JID(peer_jid), filepath, @@ -359,10 +359,9 @@ class XEP_0234: file_hash or None, hash_algo or None, extra or None, - ) + )) - @defer.inlineCallbacks - def fileJingleRequest( + async def fileJingleRequest( self, client, peer_jid, filepath, name=None, file_hash=None, hash_algo=None, extra=None): """Request a file using jingle file transfer @@ -384,7 +383,7 @@ class XEP_0234: else: if hash_algo is not None: raise ValueError(_("file_hash must be set if hash_algo is set")) - yield self._j.initiate( + await self._j.initiate( client, peer_jid, [ @@ -400,8 +399,7 @@ class XEP_0234: } ], ) - progress_id = yield progress_id_d - defer.returnValue(progress_id) + return await progress_id_d # jingle callbacks