示例#1
0
def create_room():
    message = ''
    if request.method == 'POST':
        room_name = request.form.get('room_name')
        usernames = [
            username.strip()
            for username in request.form.get('members').split(',')
        ]
        rolelist = request.form.getlist('role')
        cunmin_count = request.form.get('cunmin').strip()
        langren_count = request.form.get('langren').strip()
        cunmin = ['普通村民'] * int(cunmin_count)
        rolelist.extend(cunmin)
        langren = ['狼人'] * int(langren_count)
        rolelist.extend(langren)
        nvwu_flag = request.form['nvwu1save']
        shangjing_flag = request.form['shangjing']
        if len(room_name) and len(usernames) and len(
                rolelist) and nvwu_flag and shangjing_flag:
            room_id = save_room(room_name, current_user.username, rolelist,
                                nvwu_flag, shangjing_flag)

            if current_user.username in usernames:
                usernames.remove(current_user.username)
            add_room_members(room_id, room_name, usernames,
                             current_user.username)

            return redirect(url_for('view_room', room_id=room_id))
        else:
            message = 'Failed to create room'

    return render_template('create_room.html', message=message)
示例#2
0
def create_room():

    message = ''

    if request.method == 'POST':
        room_name = request.form.get('room_name')
        usernames = [
            username.strip()
            for username in request.form.get('members').split(',')
        ]
        print(usernames)
        if len(room_name) and len(usernames):
            room_id = save_room(room_name, current_user.username)

            if current_user.username in usernames:
                usernames.remove(current_user.username)
                print(room_id)
                print(room_name)
                print(usernames)
                print(current_user.username)
                add_room_members(room_id, room_name, usernames,
                                 current_user.username)
                return redirect(url_for('view_room'), room_id=room_id)
            else:
                message = "Failed to create room"

    return render_template('create-room.html', message=message)
示例#3
0
def add_room():
    json_input = request.get_json(force=True)

    try:
        token = json_input['token']
        child = json_input['child']

        room_name = child['name']
        room_members = child['members']
    except:
        return Response(400, 'unable to parse request').get_json()

    usernames = [
        username.strip() for username in request.form.get('members').split(',')
    ]

    if request.method == 'POST':
        if len(room_name) and len(room_members):
            room_id = save_room(room_name, current_user.username)

            if current_user.username in usernames:
                room_members.remove(current_user.username)
            add_room_members(room_id, room_name, usernames,
                             current_user.username)

            return Response(200, 'New room created').get_json()

    return Response(500, 'Error creating new room').get_json()
示例#4
0
def create_room():
    message = ''
    rooms = get_rooms_for_user(current_user.username)
    if request.method == "POST":
        room_name = request.form.get('room_name')
        usernames = [username.strip()
                     for username in request.form.get('members').split(',')]

        if len(room_name):
            for username in usernames:
                user = check_user(username)
                if username ==  "": 
                    
                    break
                elif user ==None :
                    print("bruhh")
                    message = f"user:\"{username}\" doesn't exist"
                    return render_template('index.html', message1=message, have_rooms=True, rooms=rooms)
                    break
            room_id = save_room(room_name, current_user.username)
            if current_user.username in usernames:
                usernames.remove(current_user.username)
            add_room_members(room_id, room_name, usernames,
                             current_user.username)
            return redirect(url_for('chat_room', room_id=room_id))
        else:
            message = 'Failed to Create room'

    return render_template('index.html', message1=message, have_rooms=True, rooms=rooms)
示例#5
0
def create_room():
    message = ''
    if request.method == 'POST':
        room_name = request.form.get('room_name')
        redusernames = [username.strip() for username in request.form.get('redmembers').split(',')]
        redSpy = request.form.get('redspymaster')
        blueusernames = [username.strip() for username in request.form.get('bluemembers').split(',')]
        blueSpy = request.form.get('bluespymaster')
        room_id = ''
        if blueSpy in blueusernames:
            blueusernames.remove(blueSpy)
        if redSpy in redusernames:
            redusernames.remove(redSpy)
        if len(room_name):
            if current_user.username == redSpy:
                room_id = save_room(room_name, current_user.username, 'red', True)
                add_room_member(room_id, room_name, blueSpy,redSpy,'False', 'blue', True)
            elif current_user.username == blueSpy:
                room_id = save_room(room_name, current_user.username, 'blue', True)
                add_room_member(room_id, room_name, redSpy, blueSpy,'False', 'red', True)
            else:

                if current_user.username in redusernames:
                    if not room_id:
                        room_id = save_room(room_name, current_user.username, 'red', False)
                        redusernames.remove(current_user.username)
                elif current_user.username in blueusernames:
                    if not room_id:
                        room_id = save_room(room_name, current_user.username, 'red', False)
                        blueusernames.remove(current_user.username)
                add_room_member(room_id, room_name, redSpy, current_user.username, 'False', 'red', True)
                add_room_member(room_id, room_name, blueSpy, current_user.username, 'False','blue', True)
            if len(redusernames):
                add_room_members(room_id, room_name, redusernames, current_user.username, 'red', False)
            if len(blueusernames):
                add_room_members(room_id, room_name, blueusernames, current_user.username, 'blue', False)
        else:
            message = "Failed to create room"

        return redirect(url_for('view_room', room_id=room_id,blueSpy=blueSpy,redSpy=redSpy))


    return render_template('create_room.html', message=message)
示例#6
0
文件: app.py 项目: zangdi/chameleon
def index():
    form = UserForm()
    if form.validate_on_submit():
        try:
            save_user(form.name.data)
        except DuplicateKeyError:
            print("name error")
            return render_template("index.html",
                                   form=form,
                                   message="User already exists")

        if form.create.data:
            try:
                save_room(form.room.data, form.name.data)
            except DuplicateKeyError:
                print("room exists")
                remove_user(form.name.data)
                return render_template(
                    "index.html",
                    form=form,
                    message="Cannot create room which already exists")

        if form.join.data:
            if not room_exists(form.room.data):
                print("room doesn't exists")
                remove_user(form.name.data)
                return render_template(
                    "index.html",
                    form=form,
                    message="Cannot join room which doesn't exists")

            add_member(form.room.data, form.name.data)

        return redirect(
            url_for("lobby", user=form.name.data, room=form.room.data))
    return render_template("index.html", form=form, message='')
示例#7
0
def create_room():
    if request.method=='POST':
        room_name=request.form.get('room_name')
        usernames=[ username.strip() for username in request.form.get('members').split(',')]
        created_by=current_user.username
        if len(room_name) and len(usernames):
            room_id=save_room(room_name,created_by)

            if current_user.username in usernames:
                usernames.remove(current_user.username)
            add_room_members(room_id,room_name,usernames,current_user.username)
            flash('Room is created !','success')
            return redirect(url_for('view_room',room_id=room_id))
        else:
            flash('failed to create a room !','danger')
    return render_template('create_room.html')
示例#8
0
def create_room():
    message = 'Create your own Rooms'
    if request.method == 'POST':
        room_name = request.form.get('room_name')
        usernames = [username.strip() for username in request.form.get('members').split(',')]

        if len(room_name) and len(usernames):
            room_id = save_room(room_name, current_user.username)
            if current_user.username in usernames:
                usernames.remove(current_user.username)
            add_room_members(room_id, room_name, usernames, current_user.username)
            flash('Room created successfully', 'success')
            return redirect(url_for('view_room', room_id=room_id))
        else:
            message = "Failed to create room"
            flash('Failed to create room', 'danger')
    return render_template('create_room.html', message=message)
示例#9
0
def create_room():
    message = ""
    if request.method == "POST":
        room_name = request.form.get("room_name")
        usernames = [
            username.strip() for username in request.form.get("members").split(",")
        ]

        if len(room_name) and len(usernames):
            room_id = save_room(room_name, current_user.username)
            if current_user.username in usernames:
                usernames.remove(current_user.username)
            add_room_members(room_id, room_name, usernames, current_user.username)
            return redirect(url_for("view_room", room_id=room_id))
        else:
            message = "Failed to create room"
    return render_template("create_room.html", message=message)
示例#10
0
def create_room():
    message = ''
    if request.method == 'POST':
        room_name = request.form['room_name']
        usernames = [
            username.strip() for username in request.form['members'].split(',')
        ]

        if len(room_name) and len(usernames):
            room_id = db.save_room(room_name, current_user.username)
            if current_user.username in usernames:
                usernames.remove(current_user.username)
            db.add_room_members(room_id, room_name, usernames,
                                current_user.username)
            return redirect(url_for('view-room', room_id=room_id))
        else:
            message = 'Faild to create room.'

    return render_template('create-room.html', message=message)
示例#11
0
def create_room():
    message = ''
    if request.method == 'POST':
        room_name = request.form.get('room_name')
        if len(room_name) == 0:
            message = "Room Name cannot be empty"
            return render_template('create_room.html', message=message)
        if len(request.form.get('members')) == 0:
            message = "Add more members"
            return render_template('create_room.html', message=message)
        if (request.form.get('members')).find(',') != -1:
            usernames = [
                username.strip()
                for username in request.form.get('members').split(',')
            ]
        else:
            usernames = [
                username.strip()
                for username in request.form.get('members').split(' ')
            ]
        if current_user.username in usernames:
            usernames.remove(current_user.username)
            if not len(usernames):
                message = "Add more members"
                return render_template('create_room.html', message=message)
        if not len(usernames):
            message = "Add more members"
            return render_template('create_room.html', message=message)
        if len(room_name) and len(usernames):
            room_id = save_room(room_name, current_user.username)

            add_room_members(room_id, room_name, usernames,
                             current_user.username)
            return redirect(url_for('view_room', room_id=room_id))
        else:
            message = "Failed to create room"
    return render_template('create_room.html', message=message)
示例#12
0
def create_room():
    user_id = get_jwt_identity()
    json_input = request.get_json(force=True)

    try:
        name = json_input['name']
    except Exception as e:
        return jsonify({'Error': 'Issue parsing JSON.'}), 400

    room_id = save_room(name, user_id)
    add_room_member(room_id, name, user_id, user_id, True, True)

    try:
        members = json_input['members']
        if len(members) == 1:
            add_room_member(room_id, name, members[0], user_id)
        elif len(members) > 1:
            add_room_members(room_id, name, members, user_id)
    except Exception as e:
        current_app.logger.info(
            'No members passed or incorrect args {}'.format(e))
        return jsonify({'Success': '{}'.format(room_id)}), 200

    return jsonify({'Success': '{}'.format(room_id)}), 200
示例#13
0
def assign_room(clusters):
    for i in clusters.keys():
        room_id = save_room(i, 'system', i)
        add_room_members(room_id, i, clusters[i], 'system')