Esempio n. 1
0
def disconnect(data):
    client_type = data['type']
    client_uuid = data['uuid']

    if client_type == 'bridge':
        pass
    ClientManager.instance().delete(client_uuid)

    print("disconnect")
Esempio n. 2
0
def send(data):
    uuid = data['uuid']

    client = ClientManager.instance().find(uuid)
    target = ClientManager.instance().find(client.target_id)

    io.emit('send', data, room=target.id)

    print('send', request.sid)
Esempio n. 3
0
def room(data):
    client = ClientManager.instance().find(data['uuid'])

    for r in client.rooms:
        io.emit('room', {'title': r, 'caption': ''}, room=client.id)

    print('room', request.sid)
Esempio n. 4
0
def connect(data):
    client_id = request.sid
    client_type = data['type']
    uuid = data['uuid']

    check = ClientManager.instance().find(uuid)

    if check is not None:
        ClientManager.instance().delete(uuid)

    if client_type == 'bridge':
        BridgeClient(client_id, uuid)
    elif client_type == 'user':
        UserClient(client_id, uuid, data['target'])
    else:
        Client(client_id, client_type, uuid)
Esempio n. 5
0
def index():
    result = ''

    for c in ClientManager.instance().all():
        result += 'id: %s, type: %s\n' % (c.id, c.type)

    return result
Esempio n. 6
0
def message(data):
    r = data['room']
    text = data['text']
    data['date'] = str(datetime.datetime.now())

    client = ClientManager.instance().find(data['uuid'])
    users = ClientManager.instance().find_users(client.uuid)

    for user in users:
        if r not in user.rooms:
            json = {'title': r, 'caption': text}

            user.rooms.append(r)
            io.emit('room', json, room=user.id)

            print('room', request.sid)

        io.emit('message', data, room=user.id)

    print('message', request.sid)