Esempio n. 1
0
 def call_into_callback(accepted):
     if accepted:
         conn.send(UserOk.startgame_accepted(game.id), trans)
         sender.enterGame(game)
         room = sender.rooms.get(roomname)
         room.add_game(conn, white, black, size, game.id)
     else:
         game.destroy(clear_all_traces=True)
         conn.send(UserOk.startgame_not_accepted(), trans)
Esempio n. 2
0
def register(session, username, password, fullname, role):
    try:
        dbuser = DBUser(username, password, fullname)
        session.add(dbuser)
        dbuser.role = session.query(Role).filter(Role.name == role).one()
        session.commit()
        response = UserOk.register()
    except IntegrityError:
        session.rollback()
        response = UserError.register_username_taken()
    except:
        session.rollback()
        response = UserError.register_failed()

    return response
Esempio n. 3
0
def _login_callback(user_tuple, conn, trans=None):
    if user_tuple is not None:
        try:
            cu = ConnectedUser(user_tuple, conn)
        except ValueError:
            # this user is already logged in
            conn.send(UserError.user_is_already_logged_in(), trans)
            return

        conn.data['authenticated'] = True
        conn.data['user'] = cu

        cu.enterRoom(conn.factory.main_room)

        response = UserOk.login()
    else:
        response = UserError.login_failed()

    conn.send(response, trans)
Esempio n. 4
0
 def callback(accepted):
     if accepted:
         conn.send(UserOk.startchat_accepted(chat.id, sender.db_tuple.name, username), trans)
     else:
         sender.exitChat(chat)
         conn.send(UserOk.startchat_not_accepted(), trans)
Esempio n. 5
0
def logout(conn, trans=None):
    conn.data['user'].destroy()
    conn.data['user'] = None
    conn.send(UserOk.logout(), trans)
    conn.transport.loseConnection()