initial commit
This commit is contained in:
10
server/cgi/db/object_pool.py
Normal file
10
server/cgi/db/object_pool.py
Normal file
@@ -0,0 +1,10 @@
|
||||
class ObjectPool:
|
||||
def __init__(self, selector, constructor):
|
||||
self.selector = selector
|
||||
self.constructor = constructor
|
||||
self.pool = []
|
||||
|
||||
def load_from_db(self, cur):
|
||||
cur.execute(f"SELECT * FROM {self.selector};")
|
||||
self.pool = [self.constructor().init_from_data(i) for i in cur]
|
||||
return self
|
||||
43
server/cgi/db/question.py
Normal file
43
server/cgi/db/question.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from object_pool import ObjectPool
|
||||
|
||||
class Question:
|
||||
def init(self, sID, title, max_time, test_id):
|
||||
self.id = sID
|
||||
self.title = title
|
||||
self.max_time = max_time
|
||||
self.test_id = test_id
|
||||
|
||||
return self
|
||||
|
||||
def init_from_data(self, data):
|
||||
return self.init(*data)
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_title(self):
|
||||
return self.title
|
||||
|
||||
def get_max_time(self):
|
||||
return self.max_time
|
||||
|
||||
def get_test_id(self):
|
||||
return self.test_id
|
||||
|
||||
'''
|
||||
class QuestionPool:
|
||||
def __init__(self):
|
||||
self.pool = []
|
||||
|
||||
def load_from_db(self, cur):
|
||||
db.execute("SELECT * FROM response_option;")
|
||||
self.pool = [ResponseOption().init_from_data(i) for i in cur]
|
||||
return self
|
||||
'''
|
||||
|
||||
class QuestionPool:
|
||||
def __init__(self):
|
||||
self.object_pool = ObjectPool("question", Question)
|
||||
|
||||
if db:
|
||||
self.object_pool.load_from_db(db)
|
||||
32
server/cgi/db/response.py
Normal file
32
server/cgi/db/response.py
Normal file
@@ -0,0 +1,32 @@
|
||||
from object_pool import ObjectPool
|
||||
|
||||
class Response:
|
||||
def init(self, rID, optionID, pupilID, delay):
|
||||
self.id = rID
|
||||
self.optionID = optionID
|
||||
self.pupilID = pupilID
|
||||
self.delay = delay
|
||||
|
||||
return self
|
||||
|
||||
def init_from_data(self, data):
|
||||
return self.init(*data)
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_option_id(self):
|
||||
return self.optionID
|
||||
|
||||
def get_pupil_id(self):
|
||||
return self.pupilID
|
||||
|
||||
def get_delay(self):
|
||||
return delay
|
||||
|
||||
class ResponsePool:
|
||||
def __init__(self, db = None):
|
||||
self.object_pool = ObjectPool("response", Response)
|
||||
|
||||
if db:
|
||||
self.object_pool.load_from_db(db)
|
||||
43
server/cgi/db/response_option.py
Normal file
43
server/cgi/db/response_option.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from object_pool import ObjectPool
|
||||
|
||||
class ResponseOption:
|
||||
def init(self, sID, label, questionID, correctness):
|
||||
self.id = sID
|
||||
self.label = label
|
||||
self.questionID = questionID
|
||||
self.correctness = correctness
|
||||
|
||||
return self
|
||||
|
||||
def init_from_data(self, data):
|
||||
return self.init(*data)
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_label(self):
|
||||
return self.label
|
||||
|
||||
def get_question_id(self):
|
||||
return self.questionID
|
||||
|
||||
def get_correctness(self):
|
||||
return correctness
|
||||
|
||||
class ResponceOptionPool:
|
||||
def __init__(self):
|
||||
self.object_pool = ObjectPool("response_option", ResponseOption)
|
||||
|
||||
if db:
|
||||
self.object_pool.load_from_db(db)
|
||||
|
||||
'''
|
||||
class ResponceOptionPool:
|
||||
def __init__(self):
|
||||
self.pool = []
|
||||
|
||||
def load_from_db(self, cur):
|
||||
db.execute("SELECT * FROM response_option;")
|
||||
self.pool = [ResponseOption().init_from_data(i) for i in cur]
|
||||
return self
|
||||
'''
|
||||
27
server/cgi/db/test.py
Normal file
27
server/cgi/db/test.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from db.object_pool import ObjectPool
|
||||
|
||||
class Test:
|
||||
def init(self, sID, name):
|
||||
self.id = sID
|
||||
self.name = name
|
||||
|
||||
return self
|
||||
|
||||
def init_from_data(self, data):
|
||||
return self.init(*data)
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_name(self):
|
||||
return self.name
|
||||
|
||||
def render_short(self):
|
||||
return f'<div class="test-short"><a class="header-link">#{self.sID} {self.name}</a></div>'
|
||||
|
||||
class TestPool:
|
||||
def __init__(self, db):
|
||||
self.object_pool = ObjectPool("test", Test)
|
||||
|
||||
if db:
|
||||
self.object_pool.load_from_db(db)
|
||||
Reference in New Issue
Block a user