本文整理汇总了Python中room.Room.find_users_by_room方法的典型用法代码示例。如果您正苦于以下问题:Python Room.find_users_by_room方法的具体用法?Python Room.find_users_by_room怎么用?Python Room.find_users_by_room使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类room.Room
的用法示例。
在下文中一共展示了Room.find_users_by_room方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: room_rename
# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import find_users_by_room [as 别名]
def room_rename(sock, data=None):
u = User.find_user_by_sock(sock)
r = Room.find_room_by_name(data['destination'])
r.alias = data['room_rename']
api_mongo.rename_room(data['destination'], data['room_rename'])
list_user = Room.find_users_by_room(data['destination'])
info = {"type": "chat",
"payload": {"command": "room_rename",
"room_id": data['destination'],
"alias": data['room_rename']}}
send_broadcast(list_user, info, u.resource)
示例2: user_change_text
# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import find_users_by_room [as 别名]
def user_change_text(sock, data):
destination = data['destination']
tp = data["type"]
u = User.find_user_by_sock(sock)
list_user = Room.find_users_by_room(destination)
info = {"type": "chat",
"payload": {"command": "user_change_text",
"room_id": destination,
"user": u.username,
"type": tp}}
send_broadcast(list_user, info, u.resource)
示例3: user_remove
# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import find_users_by_room [as 别名]
def user_remove(sock, data):
# logging.info(' room_leave data{}:\n %r', data)
users_to_remove = data['user_remove']
if type(users_to_remove) is unicode:
users_to_remove = [data['user_remove']]
u = User.find_user_by_sock(sock)
users_remove = data['user_remove']
if type(users_remove) is unicode:
users_remove = [data['user_remove']]
print("USERS REMOVE ", users_remove)
destination = data['destination'] # id de sala a ser alterada
room_users = Room.find_users_by_room(destination) # Lista de usuarios em uma sala
print("ROOOMS USERS", room_users)
for el in users_remove: # envia mensagem dos novos nomes
send_system_info(sock, destination, 'USER REMOVE', el) # envia message para grupo da saida do user
u_list = [] # lista final
for el in room_users:
if not (el in users_remove):
u_list.append(el)
new_room = Room.find_room_by_name(destination) # sock para o nova sala alterada
new_room.users_name = [{"username": _u, "seen": None, "received": None} for _u in u_list]
current_user = User.find_user_by_sock(sock)
for uremove in users_to_remove:
api_mongo.remove_user_room(destination, uremove)
u = User.find_user_by_name(uremove, u.resource)
if u:
info = {"type": "chat", "payload": {"command": "user_remove",
"room_id": destination}}
send(u, info)
示例4: room_message
# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import find_users_by_room [as 别名]
def room_message(sock, data):
# logging.info(' room_message data{}: %r', data)
sender = data['sender']
destination = data['destination']
t = time.time()
u = User.find_user_by_sock(sock)
if 'message' in data:
message = data['message']
alias = Room.find_alias_by_room(destination)
r = Room.find_room_by_name(data['destination'])
r.last_message = t
target = data['target'] if 'target' in data else ''
message_id = str(uuid.uuid4())
Room.history_add(sender, destination, message, alias, target, message_id, t)
info = {
"type": "chat",
"payload": {
"command": "room_message",
"dt": t,
"message": message,
"room_id": destination,
"sender": sender,
"alias": alias,
"target": target,
"message_id": message_id
}
}
list_user = Room.find_users_by_room(destination)
send_broadcast(list_user, info, u.resource)
if not sender == "system_info":
sub_list = Room.find_users_instance_by_room(destination, u.networkId)
sub_list.remove({'networkId': u.networkId, 'username': sender})
send_to_parse_multicast(info, sub_list)
示例5: room_user_add
# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import find_users_by_room [as 别名]
def room_user_add(sock, data):
u = User.find_user_by_sock(sock)
new_users_name = data['details']['new_user']
if type(new_users_name) is unicode:
new_users_name = [data['new_user']]
echo = None
if "echo" in data:
echo = data['echo']
origin = data['details']['destination']
room_users = Room.find_users_by_room(origin) # Lista de usuarios em uma sala
u_list = []
for el in new_users_name:
if not (el in room_users):
u_list.append(el)
if room_users:
for el in room_users:
u_list.append(el)
destination = Room.check_exist_room(u_list, u.resource)
if not destination:
room_name = Room.open([], u.resource) # cria a sala e recebe nome unico a sala
new_room = Room.find_room_by_name(room_name) # sock para o nova sala criada
destination = new_room.room_id
new_room.is_group = True
new_room.last_message = time.time()
new_room.alias = 'DEFAULT' # todo - validar nome default
# for unew in u_list: # todo validar se os usuarios estao off-line
# if unew != User.find_user_by_name(unew, u.resource)['username']:
# api_mongo.insert_user(unew, u.resource)
obj_users = [{"username": i, "seen": None, "received": None} for i in u_list]
api_mongo.insert_room(obj_users, room_name, new_room.alias, u.resource, True, new_room.last_message)
if destination:
room_restore(destination)
new_room = Room.find_room_by_name(destination) # sock para o nova sala criada
[send_system_info(sock, destination, 'USER ADD', el) for el in new_users_name] # envia message para grupo da entrada do user
new_room.users_name = []
obj_users = [{"username": i, "seen": None, "received": None} for i in u_list]
new_room.users_name = obj_users
new_room.is_group = True
new_room.last_message = time.time()
info = {
"type": "chat",
"payload": {
"command": "room_id",
"alias": new_room.alias,
"room_id": new_room.room_id,
"is_group": True,
"users": obj_users,
"echo": echo,
"last_message": new_room.last_message
}
}
send_broadcast(room_users, info, u.resource)