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 'question_id' in args: print("Content-Type: text/plain; charset=UTF-8\r\n\r\nВи не зазначили ідентифікатор тесту, до якого має залежати запитання\r\n") sys.exit(0) if not 'title' in args: print("Content-Type: text/plain; charset=UTF-8\r\n\r\nВи не зазначили текст запитання\r\n") sys.exit(0) if not 'mtime' in args or not args['mtime']: args['mtime'] = 0 cur = db_connection.cursor() try: cur.execute(f"UPDATE question SET title = '{escape_sql_string(args['title'])}', mtime = {args['mtime']} WHERE id = {args['question_id']};") db_connection.commit() #cur.execute(f"SELECT id FROM question ORDER BY id DESC;") #new_id = iter(cur).__next__()[0] print(f"Location: /index.py?mode=view-question&id={args['question_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")