diff --git a/classquiz/helpers/hashcash.py b/classquiz/helpers/hashcash.py index b589abc..06def31 100644 --- a/classquiz/helpers/hashcash.py +++ b/classquiz/helpers/hashcash.py @@ -81,10 +81,10 @@ def mint(resource, bits=20, now=None, ext="", saltchars=8, stamp_seconds=False): return challenge + _mint(challenge, bits) -def _salt(l): - "Return a random string of length 'l'" +def _salt(length): + "Return a random string of length 'length'" alphabet = ascii_letters + "+/=" - return "".join([choice(alphabet) for _ in [None] * l]) + return "".join([choice(alphabet) for _ in [None] * length]) def _mint(challenge, bits): diff --git a/classquiz/routers/quiz.py b/classquiz/routers/quiz.py index 0253e35..1d3c48f 100644 --- a/classquiz/routers/quiz.py +++ b/classquiz/routers/quiz.py @@ -169,7 +169,7 @@ async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends( quiz_id = uuid.UUID(quiz_id) except ValueError: raise HTTPException(status_code=400, detail="badly formed quiz id") - ## Check Cover-Image + # Check Cover-Image print(quiz_input.cover_image) if quiz_input.cover_image == "": diff --git a/classquiz/socket_server/__init__.py b/classquiz/socket_server/__init__.py index 802a44a..a253f62 100644 --- a/classquiz/socket_server/__init__.py +++ b/classquiz/socket_server/__init__.py @@ -11,9 +11,9 @@ import socketio from cryptography.fernet import Fernet from classquiz.config import redis, settings -from classquiz.db.models import PlayGame, QuizQuestionType, GameSession, GamePlayer, RangeQuizAnswer, QuizQuestion +from classquiz.db.models import PlayGame, QuizQuestionType, GameSession, GamePlayer, QuizQuestion from pydantic import BaseModel, ValidationError, validator -from datetime import timedelta, datetime +from datetime import datetime sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=[]) settings = settings() diff --git a/classquiz/tests/__init__.py b/classquiz/tests/__init__.py index ed7190b..0729c0d 100644 --- a/classquiz/tests/__init__.py +++ b/classquiz/tests/__init__.py @@ -57,7 +57,30 @@ example_quiz = { test_user_email = "sth@byom.de" test_user_password = "test" -# mock_test_results = {'0': [{'username': 'Player 1', 'answer': 'Byte, Bit, KB, MB, GB, TB', 'right': False}, {'username': 'Player 2', 'answer': 'Byte, Bit, KB, MB, GB, TB', 'right': False}, {'username': 'Player 3', 'answer': 'Bit, Byte, KB, MB, GB, TB', 'right': True}], '1': [{'username': 'Player 3', 'answer': 'CPU', 'right': True}, {'username': 'Player 2', 'answer': 'CPU', 'right': True}, {'username': 'Player 1', 'answer': 'CPU', 'right': True}], '2': [{'username': 'Player 1', 'answer': 'Peripheriegeräte', 'right': True}, {'username': 'Player 2', 'answer': 'Speichergeräte', 'right': False}, {'username': 'Player 3', 'answer': 'Kommunikationsgeräte', 'right': False}], '3': [{'username': 'Player 1', 'answer': 'die Taktfrequenz der CPU', 'right': True}, {'username': 'Player 2', 'answer': 'die Taktfrequenz der CPU', 'right': True}, {'username': 'Player 3', 'answer': 'die Taktfrequenz der CPU', 'right': True}], '4': [{'username': 'Player 3', 'answer': 'Drucker', 'right': True}, {'username': 'Player 2', 'answer': 'Drucker', 'right': True}, {'username': 'Player 1', 'answer': 'Tabellenkalkulation', 'right': False}], '5': [{'username': 'Player 1', 'answer': 'CPU (Central Processing Unit)', 'right': False}, {'username': 'Player 2', 'answer': 'RAM (Random Access Memory)', 'right': True}, {'username': 'Player 3', 'answer': 'RAM (Random Access Memory)', 'right': True}], '6': [{'username': 'Player 3', 'answer': 'RAM', 'right': True}, {'username': 'Player 2', 'answer': 'ROM', 'right': False}, {'username': 'Player 1', 'answer': 'RAM', 'right': True}], '7': [{'username': 'Player 1', 'answer': '1 TB (Terabyte)', 'right': True}, {'username': 'Player 2', 'answer': '500 KB (Kilobyte)', 'right': False}, {'username': 'Player 3', 'answer': '500 TB (Terabyte)', 'right': False}], '8': [{'username': 'Player 3', 'answer': 'Tabellenkalkulationsprogramm', 'right': True}, {'username': 'Player 2', 'answer': 'Tabellenkalkulationsprogramm', 'right': True}, {'username': 'Player 1', 'answer': 'Linux', 'right': False}], '9': [{'username': 'Player 1', 'answer': 'Anwendungsprogramme', 'right': True}, {'username': 'Player 2', 'answer': 'Lernprogramme', 'right': False}, {'username': 'Player 3', 'answer': 'Anwendungsprogramme', 'right': True}]} +# mock_test_results = {'0': [{'username': 'Player 1', 'answer': 'Byte, Bit, KB, MB, GB, TB', 'right': False}, +# {'username': 'Player 2', 'answer': 'Byte, Bit, KB, MB, GB, TB', 'right': False}, {'username': 'Player 3', +# 'answer': 'Bit, Byte, KB, MB, GB, TB', 'right': True}], '1': [{'username': 'Player 3', 'answer': 'CPU', +# 'right': True}, {'username': 'Player 2', 'answer': 'CPU', 'right': True}, {'username': 'Player 1', +# 'answer': 'CPU', 'right': True}], '2': [{'username': 'Player 1', 'answer': 'Peripheriegeräte', +# 'right': True}, {'username': 'Player 2', 'answer': 'Speichergeräte', 'right': False}, +# {'username': 'Player 3', 'answer': 'Kommunikationsgeräte', 'right': False}], '3': [{'username': 'Player 1', +# 'answer': 'die Taktfrequenz der CPU', 'right': True}, {'username': 'Player 2', +# 'answer': 'die Taktfrequenz der CPU', 'right': True}, {'username': 'Player 3', +# 'answer': 'die Taktfrequenz der CPU', 'right': True}], '4': [{'username': 'Player 3', 'answer': 'Drucker', +# 'right': True}, {'username': 'Player 2', 'answer': 'Drucker', 'right': True}, {'username': 'Player 1', +# 'answer': 'Tabellenkalkulation', 'right': False}], '5': [{'username': 'Player 1', +# 'answer':'CPU (Central Processing Unit)', 'right': False}, {'username': 'Player 2', +# 'answer': 'RAM (Random Access Memory)', 'right': True}, {'username': 'Player 3', +# 'answer': 'RAM (Random Access Memory)', 'right': True}], '6': [{'username': 'Player 3', 'answer': 'RAM', +# 'right': True}, {'username': 'Player 2', 'answer': 'ROM', 'right': False}, {'username': 'Player 1', +# 'answer': 'RAM', 'right': True}], '7': [{'username': 'Player 1', 'answer': '1 TB (Terabyte)', +# 'right': True}, {'username': 'Player 2', 'answer': '500 KB (Kilobyte)', 'right': False}, +# {'username': 'Player 3', 'answer': '500 TB (Terabyte)', 'right': False}], '8': [{'username': 'Player 3', +# 'answer': 'Tabellenkalkulationsprogramm', 'right': True}, {'username': 'Player 2', +# 'answer': 'Tabellenkalkulationsprogramm', 'right': True}, {'username': 'Player 1', 'answer': 'Linux', +# 'right': False}], '9': [{'username': 'Player 1', 'answer': 'Anwendungsprogramme', 'right': True}, +# {'username': 'Player 2', 'answer': 'Lernprogramme', 'right': False}, {'username': 'Player 3', +# 'answer': 'Anwendungsprogramme', 'right': True}]} @pytest.fixture(scope="module") diff --git a/migrations/env.py b/migrations/env.py index 1c43a7a..8a1f2a8 100644 --- a/migrations/env.py +++ b/migrations/env.py @@ -6,8 +6,6 @@ from logging.config import fileConfig from classquiz.db.models import metadata from classquiz.config import settings from sqlalchemy import create_engine -from sqlalchemy.ext.asyncio import async_engine_from_config -import asyncio from alembic import context