plugin XEP-0234: make fileJingleRequest async to fix call of initiate

This commit is contained in:
Goffi 2020-12-04 12:32:05 +01:00
commit 02472de2c4

View file

@ -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