示例#1
0
class Person(db.Model):
    """ users """
    __tablename__ = 'person'
    id = db.Column(db.Integer, primary_key=True)
    personname = db.Column(db.String(255))
    password_hash = db.Column(db.String(255))

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
示例#2
0
class Team(db.Model):
    __tablename__ = 'team'
    id = db.Column(db.Integer, primary_key=True)
    teamname = db.Column(db.String(255))
    score = db.Column(db.Integer)

    def get_team_name(self):
        return self.teamname
示例#3
0
class QuestionNumber(db.Model):
    """ A word object, corresponding to words in a line. """
    __tablename__ = 'questionnumber'
    id = db.Column(db.Integer, primary_key=True)
    question_number = db.Column(db.String(255))
    question_image = db.Column(db.LargeBinary)
    image_width = db.Column(db.Integer)
    image_height = db.Column(db.Integer)
示例#4
0
class Word(db.Model):
    """ A word object, corresponding to words in a line. """
    __tablename__ = 'word'
    id = db.Column(db.Integer, primary_key=True)
    line_id = db.Column(db.Integer, db.ForeignKey('line.id'))
    word_recognised = db.Column(db.String(255))
    word_image = db.Column(db.LargeBinary)
    image_width = db.Column(db.Integer)
    image_height = db.Column(db.Integer)
示例#5
0
class Variant(db.Model):
    """ for some questions, multiple answers (variants) are correct """
    __tablename__ = 'variant'
    id = db.Column(db.Integer, primary_key=True)
    subanswer_id = db.Column(db.Integer, db.ForeignKey('subanswer.id'))
    answer = db.Column(db.String(255))
    isNumber = db.Column(db.Boolean)

    def get_answer(self):
        return self.answer
示例#6
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True)
    questionnumber = db.Column(db.Integer)
    person_id = db.Column(db.Integer, db.ForeignKey('person.id'))
    createdby = db.relationship('Person')
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    questioncategory = db.relationship('Category')
    type_id = db.Column(db.Integer, db.ForeignKey('type.id'))
    questiontype = db.relationship('Type')
    question = db.Column(db.String(255))
    subanswers = db.relationship('SubAnswer')
    active = db.Column(db.Boolean)

    def get_question(self):
        return self.question
示例#7
0
class SubAnswerGiven(db.Model):
    """ A answer can consist of multiple lines, this indicates a single line of an answer. """
    __tablename__ = 'subanswergiven'
    id = db.Column(db.Integer, primary_key=True)
    corr_answer_id = db.Column(db.Integer,
                               db.ForeignKey('subanswer.id'),
                               nullable=False)
    corr_answer = db.relationship('SubAnswer')
    read_answer = db.Column(db.String(255))
    correct = db.Column(db.Boolean)
    confidence = db.Column(db.Float)
    person_id = db.Column(db.Integer,
                          db.ForeignKey('person.id'),
                          nullable=False)
    checkedby = db.relationship('Person')
    line_id = db.Column(db.Integer, db.ForeignKey('line.id'), nullable=False)
    line = db.relationship('Line')
    answergiven_id = db.Column(db.Integer,
                               db.ForeignKey('answergiven.id'),
                               nullable=False)
示例#8
0
class Type(db.Model):
    """ type of question (e.g. multiple choice) """
    __tablename__ = 'type'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
示例#9
0
class Category(db.Model):
    """ category of question """
    __tablename__ = 'category'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))