from database import fetch_question, update_correct class Question(object): """ This is the throwaway container types for questions. It basically stores the question and the answer and handles the database access. One can fetch a (semi random (see database.fetch_question)) question from the database using Question.fetch() and use submit_question() to both update the database and check whether the answer was correct. """ __slots__ = ["question", "answer"] def __init__(self, question, answer): self.question = question self.answer = answer @classmethod def fetch(cls): data = fetch_question() return cls(data[0], data[1]) def submit_answer(self, answer): """ Check whether ``answer`` is correct, update the database accordingly and return ``True`` if the answer was correct, ``False`` otherwise. """ correct = -1 if(answer == self.answer): correct = 1 update_correct(self.question, correct) return correct > 0