update containerfile
All checks were successful
Build, / build-image (push) Successful in 24s

This commit is contained in:
2026-02-22 15:05:10 +01:00
parent 33de4999ce
commit f181dccc1c
2 changed files with 2 additions and 2 deletions

54
app.py Normal file
View File

@@ -0,0 +1,54 @@
from flask_bootstrap import Bootstrap5
from flask import Flask, render_template, request
import utils
import random
app = Flask(__name__)
bootstrap = Bootstrap5(app)
def get_questions(categories, num):
question_pool = []
weights = []
for c in categories:
for q in utils.get_questions_by_category(c):
weight = utils.get_question_weights(c, q)
question_pool.append((c, q))
weights.append(weight)
if num > len(question_pool):
num = len(question_pool)
if num == 0:
return {}
selected_question_tuples = []
while len(selected_question_tuples) < num:
selected = random.choices(question_pool, weights)[0]
if selected not in selected_question_tuples:
selected_question_tuples.append(selected)
questions = {}
for category, question in selected_question_tuples:
utils.set_question_selected(category, question)
if category not in questions:
questions[category] = []
questions[category].append(question)
utils.save_weights()
return questions
@app.route("/", methods=["POST", "GET"])
def index():
categories = utils.get_categories()
selected = categories
n = 2
questions = {}
if request.method == "POST":
selected = request.form.getlist("categories[]")
n = int(request.form.get("num"))
questions = get_questions(selected, n)
print(selected, n)
return render_template("index.html", categories=categories, selected=selected, n=n, questions=questions)
if __name__ == '__main__':
app.run()