Added a whole lot of views.

Finished quiz API views
Finished question generator and answer eval
This commit is contained in:
2022-06-14 22:55:11 +01:00
parent a58f267586
commit 126bf9203c
15 changed files with 421 additions and 35 deletions

View File

@@ -8,6 +8,7 @@ from flask import jsonify
from flask_login import current_user
from datetime import datetime, timedelta
from uuid import uuid4
class Entry(db.Model):
@@ -25,6 +26,15 @@ class Entry(db.Model):
answers = db.Column(JsonEncodedDict, nullable=True)
result = db.Column(JsonEncodedDict, nullable=True)
def __repr__(self):
return f'<New entry by {self.first_name} {self.surname}> was added with <id {self.id}>.'
@property
def generate_id(self): raise AttributeError('generate_id is not a readable attribute.')
generate_id.setter
def generate_id(self): self.id = uuid4.hex()
@property
def set_first_name(self): raise AttributeError('set_first_name is not a readable attribute.')
@@ -63,10 +73,11 @@ class Entry(db.Model):
write('tests.log', f'New test started by {self.get_first_name()} {self.get_surname()}.')
db.session.commit()
def complete(self):
def complete(self, answers:dict=None, result:dict=None):
self.end_time = datetime.now()
self.answers = answers
write('tests.log', f'Test completed by {self.get_first_name()} {self.get_surname()}.')
delta = timedelta(minutes=self.test.time_limit)
delta = timedelta(minutes=self.test.time_limit+1)
if not self.test.time_limit or self.end_time <= self.start_time + delta:
self.status = 'finished'
self.valid = True