import mariadb as mdb import random import json import sys import os from httputils import parse_query, escape_sql_string def readfile(path): if os.path.exists(path): return open(path).read() args = {"host": "127.0.0.1", "port": 3306, "user": "root", "password": "", "database": "test_holder"} settings = json.loads(readfile("cgi/db-settings.json")) args.update(settings) db_connection = mdb.connect(**args) args = parse_query(os.environ['QUERY_STRING']) if not 'id' in args: print("Content-Type: text/plain; charset=UTF-8\r\n\r\nВи не зазначили ідентифікатор запитання, до якого генеруватимуться варіанти відповідей\r\n") sys.exit(0) if not 'amount' in args: print("Content-Type: text/plain; charset=UTF-8\r\n\r\nВи не зазначили кількість нових варіантів відповідей\r\n") sys.exit(0) cur = db_connection.cursor() try: chosen_the_right_one = False for i in range(int(args['amount'])): if not chosen_the_right_one: if int(args['amount']) == i + 1: correct = True else: correct = random.random() > 0.6 else: correct = False label = str(random.randint(0, 120)) if correct: chosen_the_right_one = True cur.execute(f"INSERT INTO response_option ( label, qstID, corct ) VALUES ( '{escape_sql_string(label)}', {args['id']}, {correct} );") db_connection.commit() print(f"Location: /index.py?mode=view-question&id={args['id']}\r\n\r\n") except Exception as e: print(f"Content-Type: text/plain; charset=UTF-8\r\n\r\nНе вдалося згенерувати варіанти відповідей ({e})\r\n")