# HG changeset patch # User Goffi # Date 1547221186 -3600 # Node ID e45480b6ba24fde259b7630b82c9d80b20554dd6 # Parent ef565839dadacdf0d1e3a5fe03f51562262da0d9 pages (blog): use DeferredList while discovering identities instead or waiting for each request individually. diff -r ef565839dada -r e45480b6ba24 libervia/pages/blog/page_meta.py --- a/libervia/pages/blog/page_meta.py Fri Jan 11 16:38:25 2019 +0100 +++ b/libervia/pages/blog/page_meta.py Fri Jan 11 16:39:46 2019 +0100 @@ -1,5 +1,6 @@ #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- +from sat.core.i18n import _ from libervia.server.constants import Const as C from twisted.words.protocols.jabber import jid from twisted.internet import defer @@ -36,14 +37,23 @@ identities = template_data[u"identities"] = self.host.getSessionData( request, session_iface.ISATSession ).identities + d_list = [] for entity_jid_s in entities: entities_url[entity_jid_s] = self.getPageByName("blog_view").getURL( entity_jid_s ) if entity_jid_s not in identities: - identities[entity_jid_s] = yield self.host.bridgeCall( - u"identityGet", entity_jid_s, profile - ) + d_list.append(self.host.bridgeCall(u"identityGet", + entity_jid_s, + profile)) + identities_data = yield defer.DeferredList(d_list) + for idx, (success, identity) in enumerate(identities_data): + entity_jid_s = entities[idx] + if not success: + log.warning(_(u"Can't retrieve identity of {entity}") + .format(entity=entity_jid_s)) + else: + identities[entity_jid_s] = identity def on_data_post(self, request):