def _finish_session(sio: ServerApp, session: GameSession): _verify_has_admin(sio, session.id, None) if session.state != GameSessionState.IN_PROGRESS: raise InvalidAction("Session is not in progress") session.state = GameSessionState.FINISHED session.save()
def _finish_session(sio: ServerApp, session: GameSession): _verify_has_admin(sio, session.id, None) if session.state != GameSessionState.IN_PROGRESS: raise InvalidAction("Session is not in progress") session.state = GameSessionState.FINISHED logger().info(f"{_describe_session(session)}: Finishing session.") session.save() _add_audit_entry(sio, session, f"Finished session")
def _start_session(sio: ServerApp, session: GameSession): _verify_has_admin(sio, session.id, None) _verify_in_setup(session) if session.layout_description_json is None: raise InvalidAction("Unable to start session, no game is available.") num_players = GameSessionMembership.select().where( GameSessionMembership.session == session, GameSessionMembership.row != None).count() expected_players = session.num_rows if num_players != expected_players: raise InvalidAction( f"Unable to start session, there are {num_players} but expected {expected_players} " f"({session.num_rows} x {session.num_teams}).") session.state = GameSessionState.IN_PROGRESS session.save()