diff options
author | Link Mauve <linkmauve@example.com> | 2018-07-22 12:49:37 +0200 |
---|---|---|
committer | Link Mauve <linkmauve@example.com> | 2018-07-22 12:49:37 +0200 |
commit | 2fc2a8897005765851a325f0e96dca65fa4a6557 (patch) | |
tree | 2338baa837481f1ad5e25540e20ccb698eeef79c /slixmpp/plugins/xep_0363 | |
parent | c55e9279acfa9947802bd681c9384ad7222a14a2 (diff) | |
parent | caae713dd63a045e28260df962e97e98fb1c0a3a (diff) | |
download | slixmpp-2fc2a8897005765851a325f0e96dca65fa4a6557.tar.gz slixmpp-2fc2a8897005765851a325f0e96dca65fa4a6557.tar.bz2 slixmpp-2fc2a8897005765851a325f0e96dca65fa4a6557.tar.xz slixmpp-2fc2a8897005765851a325f0e96dca65fa4a6557.zip |
Merge branch 'factor_find_identities' into 'master'
Factor find identities
See merge request poezio/slixmpp!2
Diffstat (limited to 'slixmpp/plugins/xep_0363')
-rw-r--r-- | slixmpp/plugins/xep_0363/http_upload.py | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/slixmpp/plugins/xep_0363/http_upload.py b/slixmpp/plugins/xep_0363/http_upload.py index 0cca2d08..65894975 100644 --- a/slixmpp/plugins/xep_0363/http_upload.py +++ b/slixmpp/plugins/xep_0363/http_upload.py @@ -68,16 +68,10 @@ class XEP_0363(BasePlugin): def _handle_request(self, iq): self.xmpp.event('http_upload_request', iq) - async def find_upload_service(self, ifrom=None, timeout=None, callback=None, - timeout_callback=None): - infos = [self.xmpp['xep_0030'].get_info(self.xmpp.boundjid.domain)] - iq_items = await self.xmpp['xep_0030'].get_items( - self.xmpp.boundjid.domain, timeout=timeout) - items = iq_items['disco_items']['items'] - infos += [self.xmpp['xep_0030'].get_info(item[0]) for item in items] - info_futures, _ = await asyncio.wait(infos, timeout=timeout) - for future in info_futures: - info = future.result() + async def find_upload_service(self, timeout=None): + results = await self.xmpp['xep_0030'].get_info_from_domain() + + for info in results: for identity in info['disco_info']['identities']: if identity[0] == 'store' and identity[1] == 'file': return info @@ -100,7 +94,7 @@ class XEP_0363(BasePlugin): callback=None, timeout_callback=None): ''' Helper function which does all of the uploading process. ''' if self.upload_service is None: - info_iq = await self.find_upload_service(ifrom=ifrom, timeout=timeout) + info_iq = await self.find_upload_service(timeout=timeout) if info_iq is None: raise UploadServiceNotFound() self.upload_service = info_iq['from'] |