# HG changeset patch # User Goffi # Date 1607081525 -3600 # Node ID c84c54c6b046d3eb2335b7163b2aab5a317627b3 # Parent 63d20854df3ab2f6a81a8146364fdf9c4d4682d0 plugin XEP-0234: make `fileJingleRequest` async to fix call of `initiate` diff -r 63d20854df3a -r c84c54c6b046 sat/plugins/plugin_xep_0234.py --- a/sat/plugins/plugin_xep_0234.py Fri Dec 04 12:30:46 2020 +0100 +++ b/sat/plugins/plugin_xep_0234.py Fri Dec 04 12:32:05 2020 +0100 @@ -351,7 +351,7 @@ 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 @@ 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 @@ 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 @@ } ], ) - progress_id = yield progress_id_d - defer.returnValue(progress_id) + return await progress_id_d # jingle callbacks