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)
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
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)
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)
def logout(conn, trans=None): conn.data['user'].destroy() conn.data['user'] = None conn.send(UserOk.logout(), trans) conn.transport.loseConnection()