def to_json(self): j = super().to_json() j.update({ 'group_key_id': self.group_key_id, 'label': my_keys.get_label(self.group_key_id), 'creator': self.group_creator_idurl, 'active_broker_id': self.active_broker_id, }) return j
def to_json(self): return { 'key_id': self.key_id, 'alias': self.glob_id['key_alias'], 'label': my_keys.get_label(self.key_id), 'creator': self.customer_idurl, 'state': self.state, 'suppliers': self.known_suppliers_list, 'ecc_map': self.known_ecc_map, }
def to_json(self): j = super().to_json() j.update({ 'key_id': self.key_id, 'alias': self.glob_id['key_alias'], 'label': my_keys.get_label(self.key_id), 'creator': self.customer_idurl.to_id(), 'suppliers': [id_url.idurl_to_id(s) for s in self.known_suppliers_list], 'ecc_map': self.known_ecc_map, }) return j
def build_json_conversation(**record): conv = { 'key_id': '', 'label': '', 'state': 'OFFLINE', 'index': None, 'id': None, 'name': None, 'repr': None, 'events': None, } conv.update(record) if conv['type'] == 'private_message': local_key_id1, _, local_key_id2 = conv['conversation_id'].partition( '&') try: local_key_id1 = int(local_key_id1) local_key_id2 = int(local_key_id2) except: lg.exc() return None usr1 = my_keys.get_local_key(local_key_id1) usr2 = my_keys.get_local_key(local_key_id2) if not usr1 or not usr2: # lg.warn('%r %r : not found sender or recipient key_id for %r' % (usr1, usr2, conv, )) return None usr1 = usr1.replace('master$', '') usr2 = usr2.replace('master$', '') idurl1 = global_id.glob2idurl(usr1, as_field=True) idurl2 = global_id.glob2idurl(usr2, as_field=True) conv_key_id = None conv_label = None user_idurl = None if (id_url.is_cached(idurl1) and idurl1 == my_id.getIDURL() ) or usr1.split('@')[0] == my_id.getIDName(): user_idurl = idurl2 conv_key_id = global_id.UrlToGlobalID(idurl2, include_key=True) conv_label = conv_key_id.replace('master$', '').split('@')[0] if (id_url.is_cached(idurl2) and idurl2 == my_id.getIDURL() ) or usr2.split('@')[0] == my_id.getIDName(): user_idurl = idurl1 conv_key_id = global_id.UrlToGlobalID(idurl1, include_key=True) conv_label = conv_key_id.replace('master$', '').split('@')[0] if conv_key_id: conv['key_id'] = conv_key_id if conv_label: conv['label'] = conv_label else: conv['label'] = conv_key_id if user_idurl: on_st = online_status.getInstance(user_idurl, autocreate=False) if on_st: conv.update(on_st.to_json()) elif conv['type'] == 'group_message' or conv['type'] == 'personal_message': local_key_id, _, _ = conv['conversation_id'].partition('&') try: local_key_id = int(local_key_id) except: lg.exc() return None key_id = my_keys.get_local_key(local_key_id) if not key_id: # lg.warn('key_id was not found for %r' % conv) return None conv['key_id'] = key_id conv['label'] = my_keys.get_label(key_id) or key_id gm = group_member.get_active_group_member(key_id) if gm: conv.update(gm.to_json()) return conv