{ "cells": [ { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " * Serving Flask app '__main__'\n", " * Debug mode: off\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\n", " * Running on http://192.168.2.182:5000\n", "Press CTRL+C to quit\n", "192.168.2.182 - - [08/Jan/2025 11:26:37] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.182 - - [08/Jan/2025 11:26:37] \"GET /favicon.ico HTTP/1.1\" 404 -\n", "192.168.2.92 - - [08/Jan/2025 11:27:29] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:27:29] \"GET /favicon.ico HTTP/1.1\" 404 -\n", "192.168.2.92 - - [08/Jan/2025 11:28:57] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:28:57] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:21] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:21] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:32] \"GET /submit_answer HTTP/1.1\" 405 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:41] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:42] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:48] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:48] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:52] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:52] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:55] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:29:55] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:09] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:09] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:15] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:20] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:20] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:26] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:30:26] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:13] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:13] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:16] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:16] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:19] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:19] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:51] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:51] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:59] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:31:59] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:09] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:09] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:39] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:39] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:42] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:42] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:56] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:56] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:59] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:59] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:32:59] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:33:13] \"GET /result HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:33:13] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:34:14] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:34:14] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:34:39] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:34:39] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:14] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:14] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:29] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:29] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:35] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:35] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:38] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:41] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:41] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:49] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:35:49] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:26] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:26] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:28] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:28] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:31] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:31] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:38] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:52] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:52] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:59] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:36:59] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:06] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:06] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:11] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:11] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:17] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:17] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:21] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:21] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:42] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:37:42] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:38:01] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:38:01] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:38:01] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:40:59] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:40:59] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:00] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:00] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:14] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:14] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:24] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:24] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:29] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:29] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:31] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:31] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:35] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:35] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:52] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:52] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:56] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:56] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:59] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:42:59] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:43:47] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:43:48] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:01] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:01] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:27] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:27] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:34] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:34] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:43] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:43] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:48] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:44:48] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:07] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:07] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:11] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:11] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:45] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:45] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:53] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:53] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:55] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:55] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:45:55] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:46:30] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:46:30] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:36] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:36] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:47] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:47] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:53] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:53] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:55] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:47:55] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:07] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:07] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:10] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:10] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:37] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:37] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:41] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:42] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:50] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:50] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:58] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:48:58] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:00] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:00] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:10] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:10] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:18] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:18] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:21] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:21] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:24] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:24] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:33] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:49:33] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:02] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:02] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:12] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:12] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:17] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:50:17] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:09] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:09] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:09] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:25] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:25] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:34] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:34] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:44] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:44] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:57] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:51:57] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:30] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:31] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:33] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:33] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:45] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:45] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:54] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:52:54] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:53:06] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:53:06] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:53:47] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:53:47] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:05] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:05] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:13] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:13] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:15] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:44] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:44] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:50] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:54:50] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:01] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:01] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:09] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:09] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:14] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:14] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:48] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:48] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:52] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:52] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:58] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:58] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:55:58] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 11:57:56] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 11:57:56] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:15] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:23] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:23] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:29] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:29] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:44] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:18:44] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:31] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:31] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:36] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:36] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:19:38] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:02] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:02] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:09] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:09] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:13] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:13] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:17] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:17] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:20] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:20] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:33] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:33] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:36] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:36] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:39] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:39] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:58] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:20:58] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:01] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:01] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:06] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:06] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:13] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:13] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:15] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:15] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:35] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:35] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:38] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:44] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:44] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:56] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:21:56] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:12] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:12] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:27] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:27] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:42] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:22:42] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:26] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:26] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:34] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:34] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:38] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:41] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:41] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:45] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:23:45] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:04] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:04] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:21] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:21] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:57] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:24:57] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:06] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:06] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:12] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:12] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:44] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:45] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:47] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:47] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:50] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:50] \"GET / HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:54] \"POST /submit_answer HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:54] \"GET / HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:25:54] \"GET /result HTTP/1.1\" 200 -\n", "192.168.2.92 - - [08/Jan/2025 12:26:22] \"GET /restart HTTP/1.1\" 302 -\n", "192.168.2.92 - - [08/Jan/2025 12:26:22] \"GET / HTTP/1.1\" 200 -\n" ] } ], "source": [ "from flask import Flask, render_template, request, redirect, url_for, session\n", "import random\n", "\n", "app = Flask(__name__)\n", "app.secret_key = 'your_secret_key' # You must have a secret key for sessions to work\n", "\n", "# Function to parse the questions from the file\n", "def parse_questions(file_paths):\n", " content = []\n", " for file_path in file_paths:\n", " with open(file_path, 'r', encoding='utf-8') as file:\n", " content.extend(file.read().split(\"\\n\\n\")) # Split content by empty lines between questions\n", "\n", " questions = []\n", "\n", " for block in content:\n", " lines = block.strip().split(\"\\n\")\n", " question = lines[0].replace(\"Kérdés: \", \"\").strip() # Remove 'Kérdés:' from the start\n", " answers = []\n", " correct_answers = []\n", "\n", " # Parse the answers and separate correct answers (those starting with '!')\n", " for line in lines[1:]:\n", " answer = line.strip()\n", " if answer.startswith('!'):\n", " correct_answers.append(answer[1:].strip()) # Remove the '!' and save the correct answer\n", " else:\n", " answers.append(answer)\n", "\n", " # Add the parsed question, answers, and correct answers to the list\n", " if correct_answers:\n", " questions.append({\n", " 'question': question,\n", " 'answers': answers + correct_answers, # Append correct answers at the end\n", " 'correct_answers': correct_answers\n", " })\n", "\n", " return questions\n", "\n", "# Parse questions from the file\n", "questions = parse_questions(['kerdessor1_manual.txt', 'kerdessor2_manual.txt', 'kerdessor3.txt'])\n", "\n", "@app.route('/')\n", "def index():\n", " # Initialize the quiz session\n", " if 'selected_questions' not in session:\n", " selected_questions = random.sample(questions, 20)\n", " session['selected_questions'] = selected_questions\n", " session['question_index'] = 0\n", " session['answers'] = [] # Clear answers to start fresh\n", "\n", " else:\n", " selected_questions = session['selected_questions']\n", "\n", " question_index = session.get('question_index', 0)\n", "\n", " # If all questions are answered, redirect to the results page\n", " if question_index >= len(selected_questions):\n", " return redirect(url_for('result'))\n", "\n", " # Get the current question\n", " current_question = selected_questions[question_index]\n", "\n", " # Shuffle the answers to randomize their order\n", " random.shuffle(current_question['answers'])\n", "\n", " return render_template('quiz.html', question=current_question, question_index=question_index)\n", "\n", "@app.route('/submit_answer', methods=['POST'])\n", "def submit_answer():\n", " # Get the user's answer and the current question index\n", " user_answers = request.form.getlist('answer') # Use getlist for checkboxes (multiple answers)\n", " question_index = int(request.form.get('question_index'))\n", " \n", " # Store the answer in the session\n", " answers = session.get('answers', [])\n", " answers.append(user_answers)\n", " session['answers'] = answers\n", "\n", " # Move to the next question\n", " question_index += 1\n", " session['question_index'] = question_index\n", " \n", " return redirect(url_for('index'))\n", "\n", "\n", "@app.route('/result')\n", "def result():\n", " # Ensure 'selected_questions' exists in the session\n", " selected_questions = session.get('selected_questions', None)\n", " answers = session.get('answers', None)\n", "\n", " if not selected_questions or not answers:\n", " return redirect(url_for('index')) # Redirect back to the quiz if selected_questions or answers are missing\n", "\n", " # Calculate the score and track mistakes\n", " score = 0\n", " mistakes = []\n", "\n", " for i, user_answer in enumerate(answers):\n", " correct_answers = selected_questions[i]['correct_answers']\n", " \n", " # Check if the selected answers exactly match the correct answers (order doesn't matter)\n", " if set(user_answer) == set(correct_answers):\n", " score += 1\n", " else:\n", " mistakes.append({\n", " 'question': selected_questions[i]['question'],\n", " 'correct_answer': correct_answers,\n", " 'user_answer': user_answer\n", " })\n", "\n", " # Prepare zipped data to pass to the template (question, user answer pair)\n", " questions_with_answers = zip(selected_questions, answers)\n", "\n", " # Reset session data so the user can restart the quiz or continue\n", " session.pop('question_index', None) # Clear the current question index\n", " session.pop('answers', None) # Clear stored answers\n", " session.pop('selected_questions', None) # Clear selected questions\n", "\n", " return render_template('result.html', score=score, total=len(selected_questions), mistakes=mistakes, questions_with_answers=questions_with_answers)\n", "\n", "\n", "@app.route('/restart')\n", "def restart():\n", " # Clear session data to restart the quiz\n", " session.pop('question_index', None)\n", " session.pop('answers', None)\n", " session.pop('selected_questions', None)\n", " \n", " return redirect(url_for('index')) # Redirect to start the quiz again\n", "\n", "if __name__ == '__main__':\n", " app.run(host=\"192.168.2.182\")\n" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.0" } }, "nbformat": 4, "nbformat_minor": 2 }