示例#1
0
 def discoReceived(self, user, what, node):
     if 'info' == what:
         if node is None:
             ids = [{'category': 'gateway', 'type': 'bitcoin',
                     'name':LIB_DESCRIPTION}]
             return {'ids': ids, 'features': [NS_DISCO_INFO, NS_DISCO_ITEMS, NS_REGISTER, NS_VERSION, NS_GATEWAY, NS_LAST]}
         elif 'users' == node:
             ids = [{'category': 'directory', 'type': 'user', 'name': _(DISCO, 'user_list')}]
             return {'ids': ids, 'features': [NS_DISCO_INFO, NS_DISCO_ITEMS]}
     elif 'items' == what:
         items = []
         if user.isRegistered():
             if node is None:
                 items.append({'jid': user.getLocalJID(), 'name': _(DISCO, 'your_addresses'), 'node': 'addresses'})
         else:
             items.append({'jid': self.jid, 'name': LIB_DESCRIPTION})
         if user.isAdmin():
             if node is None:
                 items.append({'jid': self.jid, 'name': 'Users', 'node': 'users'})
             elif 'users' == node:
                 for jid in UserAccount.getAllMembers():
                     member = UserAccount(JID(jid))
                     name = member.username
                     items.append({'jid': member.getLocalJID(), 'name': name})
         return items