def create_board(): """ Create a new board or some new boards. * If this page is requested with a GET method, the board generation form is returned. * If this page is requested with a POST method, a board generation form is processed, and new board/s is/are generated. Later a board generation form is returned, with a message that new boards were generated, with a link to the newly generated board/s. :return: As explained above. :rtype: flask.Response """ just_created = False user = User.get_by_id(session["user"]) if request.method == "POST": try: board_type = request.form["type"] width, height = BOARD_TO_DIMENSION[board_type](request.form) count = int(request.form["count"]) boards = [DBBoard.create_board(user, generate(width, height)) for _ in xrange(count)] commit() board_ids = [board.id for board in boards] session["last_boards"] = board_ids if len(board_ids) == 1: flash("Created one board", "success") else: flash("Created %d boards" % len(board_ids), "success") just_created = True except (KeyError, ValueError): flash("Invalid request data", "danger") except: flash("Internal server error", "danger") return render_template("create_board.html", just_created=just_created, user=user)
def generated_board(): """ :return: A generated board. :rtype: :class:`~board.Board` """ return generate(2, 2)
def generated_dodeka(): """ :return: A generated dodeka board. :rtype: :class:`~board.Board` """ return generate(3, 4)
def generated_board9(): """ :return: A generated board of regular size. :rtype: :class:`~board.Board` """ return generate(3, 3)
from time import time from edsudoku.generator import generate __author__ = "Eli Daian <*****@*****.**>" NUM_ITERATIONS = 20 a = time() for i in xrange(NUM_ITERATIONS): board = generate(3, 4) b = time() print 'Took %.2f seconds' % ((b - a) / NUM_ITERATIONS) # Regular: Took 0.42 seconds # Dodeka: Took 2.06 seconds