comparison libervia/pages/blog/page_meta.py @ 1269:470c6cfdf4ce

pages (blog): fixed identities handling
author Goffi <goffi@goffi.org>
date Tue, 19 May 2020 11:05:47 +0200
parents 6b7f9c3558cc
children 0554103ec700
comparison
equal deleted inserted replaced
1268:e628724530ec 1269:470c6cfdf4ce
36 ) 36 )
37 entities_url = template_data["entities_url"] = {} 37 entities_url = template_data["entities_url"] = {}
38 identities = self.host.getSessionData( 38 identities = self.host.getSessionData(
39 request, session_iface.ISATSession 39 request, session_iface.ISATSession
40 ).identities 40 ).identities
41 d_list = [] 41 d_list = {}
42 for entity_jid_s in entities: 42 for entity_jid_s in entities:
43 entities_url[entity_jid_s] = self.getPageByName("blog_view").getURL( 43 entities_url[entity_jid_s] = self.getPageByName("blog_view").getURL(
44 entity_jid_s 44 entity_jid_s
45 ) 45 )
46 if entity_jid_s not in identities: 46 if entity_jid_s not in identities:
47 d_list.append(self.host.bridgeCall("identityGet", 47 d_list[entity_jid_s] = self.host.bridgeCall(
48 entity_jid_s, 48 "identityGet",
49 [], 49 entity_jid_s,
50 True, 50 [],
51 profile)) 51 True,
52 identities_data = yield defer.DeferredList(d_list) 52 profile)
53 identities_data = yield defer.DeferredList(d_list.values())
54 entities_idx = list(d_list.keys())
53 for idx, (success, identity_raw) in enumerate(identities_data): 55 for idx, (success, identity_raw) in enumerate(identities_data):
54 entity_jid_s = entities[idx] 56 entity_jid_s = entities_idx[idx]
55 if not success: 57 if not success:
56 log.warning(_("Can't retrieve identity of {entity}") 58 log.warning(_("Can't retrieve identity of {entity}")
57 .format(entity=entity_jid_s)) 59 .format(entity=entity_jid_s))
58 else: 60 else:
59 identities[entity_jid_s] = data_format.deserialise(identity_raw) 61 identities[entity_jid_s] = data_format.deserialise(identity_raw)