Esempio n. 1
0
 def on_server_exit():
     room_userlist_all = userlist_prefix + room_prefix + "[0-9]*"
     keys = c.keys(room_userlist_all)
     for key in keys:
         users = c.smembers(key)
         for user in users:
             c.delete(user)
             
         c.delete(key)
Esempio n. 2
0
    def on_server_exit():
        room_userlist_all = userlist_prefix + room_prefix + "[0-9]*"
        keys = c.keys(room_userlist_all)
        for key in keys:
            users = c.smembers(key)
            for user in users:
                c.delete(user)

            c.delete(key)
Esempio n. 3
0
 def get_room_user(room_id):
     roomuser_key = userlist_prefix + room_prefix + str(room_id)
     room_users = c.smembers(roomuser_key)
     user_list = list()
     for user in room_users:
         temp = dict()
         temp['user'] = user
         temp['remote_ip'] = c.hget(user, "remote_ip")
         user_list.append(temp)
     return user_list
Esempio n. 4
0
 def get_room_user(room_id):
     roomuser_key = userlist_prefix + room_prefix + str(room_id)
     room_users = c.smembers(roomuser_key)
     user_list = list()
     for user in room_users:
         temp = dict()
         temp['user'] = user
         temp['remote_ip'] = c.hget(user, "remote_ip")
         user_list.append(temp)
     return user_list
Esempio n. 5
0
 def get_all_user_info():
     '''
     返回所有房间的用户,和用户的详细信息
     '''
     userlist_all = userlist_prefix + room_prefix + "[0-9]*"
     keys = c.keys(userlist_all)
     final_list = list()
     for key in keys:
         room_list = dict()
         room_list[key] = list()
         room_users = c.smembers(key)
         for user in room_users:
             user_detail = dict()
             user_detail[user] = c.hgetall(user)
             room_list[key].append(user_detail)
         final_list.append(room_list)
     return final_list
Esempio n. 6
0
 def userinfo_del(user):
     """
     因为这个用户信息是不和任何房间关联的
     所以要先判断用户,是否已经不在任何聊天室内
     如果是则删除用户
     """
     userlist_all = userlist_prefix + room_prefix + "[0-9]*"
     keys = c.keys(userlist_all)
     for key in keys:
         users = list(c.smembers(key))
         if user in users:
             return
     # 不删除用户的信息, 在userinfo_add中覆盖
     # 否则浏览器刷新会导致调用user_del
     # 改为设置用户离线标志
     # c.delete(user)
     c.hdel(user, "offline")
Esempio n. 7
0
 def get_all_user_info():
     '''
     返回所有房间的用户,和用户的详细信息
     '''
     userlist_all = userlist_prefix + room_prefix + "[0-9]*"
     keys = c.keys(userlist_all)
     final_list = list()
     for key in keys:
         room_list = dict()
         room_list[key] = list()
         room_users = c.smembers(key)
         for user in room_users:
             user_detail = dict()
             user_detail[user] = c.hgetall(user)
             room_list[key].append(user_detail)
         final_list.append(room_list)
     return final_list
Esempio n. 8
0
 def userinfo_del(user):
     """
     因为这个用户信息是不和任何房间关联的
     所以要先判断用户,是否已经不在任何聊天室内
     如果是则删除用户
     """
     userlist_all = userlist_prefix + room_prefix + "[0-9]*"
     keys = c.keys(userlist_all)
     for key in keys:
         users = list(c.smembers(key))
         if user in users:
             return
     # 不删除用户的信息, 在userinfo_add中覆盖
     # 否则浏览器刷新会导致调用user_del
     # 改为设置用户离线标志
     # c.delete(user)
     c.hdel(user, "offline")
Esempio n. 9
0
 def get_users_for_room_id(room_id):
     userlist_set = userlist_prefix + room_prefix + str(room_id)
     return c.smembers(userlist_set)
Esempio n. 10
0
 def get_users_for_room_id(room_id):
     userlist_set = userlist_prefix + room_prefix + str(room_id)
     return c.smembers(userlist_set)