From 037706552c68ec900475633af0474a7cdac29814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Sat, 9 Jun 2018 15:55:12 +0100 Subject: Factor out fetching of identities in xep_0363 to xep_0030 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- slixmpp/plugins/xep_0363/http_upload.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'slixmpp/plugins/xep_0363/http_upload.py') diff --git a/slixmpp/plugins/xep_0363/http_upload.py b/slixmpp/plugins/xep_0363/http_upload.py index 073b3fc0..3c0f2b3e 100644 --- a/slixmpp/plugins/xep_0363/http_upload.py +++ b/slixmpp/plugins/xep_0363/http_upload.py @@ -69,17 +69,9 @@ class XEP_0363(BasePlugin): self.xmpp.event('http_upload_request', iq) async def find_upload_service(self, timeout=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() - for identity in info['disco_info']['identities']: - if identity[0] == 'store' and identity[1] == 'file': - return info + results = await self.xmpp['xep_0030'].find_identities('store', 'file') + if results: + return results[0] def request_slot(self, jid, filename, size, content_type=None, ifrom=None, timeout=None, callback=None, timeout_callback=None): -- cgit v1.2.3