test-platform/server/flip-correctness.py

45 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import mariadb as mdb
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 'res_opt_id' in args:
print("Content-Type: text/plain; charset=UTF-8\r\n\r\nВи не зазначили ідентифікатор варіанту відповіді\r\n")
sys.exit(0)
cur = db_connection.cursor()
try:
cur.execute(f"SELECT corct, qstID FROM response_option WHERE id = {args['res_opt_id']};")
data = iter(cur).__next__()
new_correctness = not bool(data[0])
cur.execute(f"UPDATE response_option SET corct = {int(new_correctness)} WHERE id = {args['res_opt_id']};")
db_connection.commit()
#cur.execute(f"SELECT id FROM response ORDER BY id DESC;")
#new_id = iter(cur).__next__()[0]
print(f"Location: /index.py?mode=view-question&id={data[1]}\r\n\r\n")
except Exception as e:
print(f"Content-Type: text/plain; charset=UTF-8\r\n\r\nНе вдалося створити новий варіант відповіді ({e})\r\n")