Example #1
0
class ExerciseStatus(Table):
    _name = 'exercise_status'
    _schema = [
        Column('exercise', ForeignKey('exercise')),
        Column('users', ForeignKey('users')),
        Column('status', String(20)),
    ]
Example #2
0
class LessonStatus(Table):
    _name = 'lesson_status'
    _schema = [
        Column('lesson', ForeignKey('lesson')),
        Column('users', ForeignKey('users')),
        Column('status', String(20)),
    ]
Example #3
0
class QuizQuestions(Table):
    _name = 'quiz_questions'
    _schema = [
        Column('quiz', ForeignKey('quiz')),
        Column('question', ForeignKey('question')),
        Column('question_order', Integer(), default=0),
    ]
Example #4
0
class LiveQuizAnsware(Table):
    _name = 'live_quiz_answare'
    _schema = [
        Column('live_quiz', ForeignKey('live_quiz')),
        Column('question', ForeignKey('question')),
        Column('answare', CodeString(5000)),
    ]
Example #5
0
class Absence(Table):
    _name = 'absence'
    _schema = [
        Column('lesson', ForeignKey('lesson')),
        Column('users', ForeignKey('users')),
        Column('absent', Boolean(), default=True),
    ]
Example #6
0
def migrate_1to2(engine):
    '''
    Add updated and updated_by columns to keep track of which users
    are updating inventory
    '''
    updated = Column('updated', Integer)
    updated_by = Column('updated_by', String)

    try:
        add_column(engine, 'user', updated)
    except Exception:
        pass
    try:
        add_column(engine, 'user', updated_by)
    except Exception:
        pass
    try:
        add_column(engine, 'group', updated)
    except Exception:
        pass
    try:
        add_column(engine, 'group', updated_by)
    except Exception:
        pass
    try:
        add_column(engine, 'facility', updated)
    except Exception:
        pass
    try:
        add_column(engine, 'facility', updated_by)
    except Exception:
        pass

    return engine
Example #7
0
class LessonFeedback(Table):
    _name = 'lesson_feedback'
    _schema = [
        Column('users', ForeignKey('users')),
        Column('lesson', ForeignKey('lesson')),
        Column('feedback', String(5000)),
    ]
Example #8
0
class QuestionAnsware(Table):
    _name = 'question_answare'
    _schema = [
        Column('users', ForeignKey('users')),
        Column('question', ForeignKey('question')),
        Column('answare', CodeString(5000)),
    ]
    _unique = ['users', 'question']
Example #9
0
class EventSponsor(Table):
    _name = 'event_sponsor'
    _schema = [
        Column('order_number', Integer()),
        Column('event', ForeignKey('event')),
        Column('sponsor', ForeignKey('sponsor')),
        Column('rank', String(255)),
    ]
Example #10
0
class Feedback(Table):
    _name = 'seat'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('row', String(255)),
        Column('number', String(10000)),
        Column('users', ForeignKey('users')),
    ]
Example #11
0
class ExerciseAnsware(Table):
    _name = 'lesson_status'
    _schema = [
        Column('exercise', ForeignKey('exercise')),
        Column('users', ForeignKey('users')),
        Column('answare', CodeString(5000)),
        Column('status', String(20)),
    ]
Example #12
0
class UserReview(Table):
    _name = 'user_review'
    _schema = [
        Column('users', ForeignKey('users')),
        Column('reviewer', ForeignKey('users')),
        Column('score', Integer()),
    ]
    _unique = ['users', 'reviewer']
Example #13
0
class LiveQuizQuestion(Table):
    _name = 'live_quiz_questions'
    _schema = [
        Column('live_quiz', ForeignKey('live_quiz')),
        Column('question', ForeignKey('question')),
        Column('question_order', Integer(), default=0),
    ]
    _unique = ['live_quiz', 'question_order']
Example #14
0
class ExerciseAnsware(Table):
    _name = 'exercise_answare'
    _schema = [
        Column('exercise', ForeignKey('exercise')),
        Column('users', ForeignKey('users')),
        Column('answare', CodeString(5000)),
        Column('first_answare', CodeString(5000), default=""),
        Column('status', String(20)),
    ]
Example #15
0
class Seat(Table):
    _name = 'seat'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('row', String(255)),
        Column('number', Integer()),
        Column('users', ForeignKey('users'), unique=True),
        Column('i_need_help', Boolean(), default=False),
    ]
Example #16
0
class EventMeetings(Table):
    _name = 'event_meetings'
    _schema = [
        Column('order_number', Integer()),
        Column('event', ForeignKey('event')),
        Column('lesson', ForeignKey('lesson')),
        Column('date', DateTime(), default=datetime.utcnow),
        Column('lesson_active', Boolean(), default=False),
    ]
Example #17
0
class Feedback(Table):
    _name = 'feedback'
    _schema = [
        Column('lesson_review', String(10000)),
        Column('teacher_review', String(10000)),
        Column('material', Integer()),
        Column('teacher', ForeignKey('users')),
        Column('users', ForeignKey('users')),
    ]
Example #18
0
class LessonFeedbackAnswer(Table):
    _name = 'lesson_feedback_answer'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('author', ForeignKey('users')),
        Column('answers', CodeString(10000)),
        Column('question', ForeignKey('lesson_feedback_question')),
        Column('lesson', ForeignKey('lesson'))
    ]
Example #19
0
class AbsenceMeta(Table):
    _name = 'absence_meta'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('row', String(255)),
        Column('code', String(10)),
        Column('active', Boolean(), default=True),
        Column('users', ForeignKey('users')),
    ]
Example #20
0
    def new_db_from_pandas(self,
                           frame,
                           table=None,
                           data=None,
                           load=True,
                           **kwargs):
        """Create a new db partition from a pandas data frame.

        If the table does not exist, it will be created

        """
        import pandas as pd
        import numpy as np
        from orm import Column
        from dbexceptions import ConfigurationError

        # Create the table from the information in the data frame.
        with self.bundle.session:
            sch = self.bundle.schema
            t = sch.add_table(table)

            if frame.index.name:
                id_name = frame.index.name
            else:
                id_name = 'id'

            sch.add_column(t,
                           id_name,
                           datatype=Column.convert_numpy_type(
                               frame.index.dtype),
                           is_primary_key=True)

            for name, type_ in zip([row for row in frame.columns], [
                    row
                    for row in frame.convert_objects(convert_numeric=True,
                                                     convert_dates=True).dtypes
            ]):
                sch.add_column(t,
                               name,
                               datatype=Column.convert_numpy_type(type_))
                sch.write_schema()

        p = self.new_partition(table=table, data=data, **kwargs)

        if load:
            pk_name = frame.index.name
            with p.inserter(table) as ins:
                for i, row in frame.iterrows():
                    d = dict(row)
                    d[pk_name] = i

                    ins.insert(d)

        return p
Example #21
0
class Config(Table):
    _name = 'config'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('reg_active', Boolean(), default=True),
        Column('room_raws', Integer(), default=10),
        Column('room_columns', Integer(), default=10),
    ]

    @classmethod
    async def get_registration(cls):
        config = await cls.get_by_id(1)
        return config.reg_active
Example #22
0
class Lesson(Table):
    _name = 'lesson'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('lesson_no', Integer()),
        Column('title', String(255)),
        Column('description', String(10000)),
        Column('author', ForeignKey('users'), default=DEFAULT_USER),
        Column('file', String(255), required=False),
        Column('time_created', DateTime(), default=datetime.utcnow),
        Column('active', Boolean(), default=False),
        Column('quiz', ForeignKey('quiz'), required=False),
        Column('live_quiz', ForeignKey('live_quiz'), required=False),
    ]
Example #23
0
class Sponsor(Table):
    _name = 'sponsor'
    _schema = [
        Column('id', Integer(), primary_key=True),
        Column('name', String(255)),
        Column('description', String(5000)),
        Column('logo', String(255), required=False, default=''),
        Column('webpage', String(255), required=False, default=''),
        Column('linkedin', String(255), required=False),
        Column('twitter', String(255), required=False),
        Column('facebook', String(255), required=False),
        Column('city', String(255), required=False),
        Column('country', String(255), required=False),
    ]
Example #24
0
class EventUsers(Table):
    _name = 'event_users'
    _soft_restricted_keys = ['score', 'notes']
    _schema = [
        Column('event', ForeignKey('event')),
        Column('users', ForeignKey('users')),
        Column('confirmation', String(10), default='noans'),
        Column('accepted', Boolean(), default=False),
        Column('bring_power_cord', Boolean(), default=False),
        Column('attend_weekly', Boolean(), default=False),
        Column('notes', String(5000), default=''),
        Column('score', Float(), default=0, required=False),
        Column('i_helped', Boolean(), default=False),
        Column('helped', String(5000), required=False),
    ]
Example #25
0
class Feedback(Table):
    _name = 'feedback'
    _schema = [
        Column('lesson_review', String(10000)),
        Column('teacher_review', String(10000)),
        Column('material', Integer()),
        Column('teacher', ForeignKey('users')),
        Column('users', ForeignKey('users')),
        # O tym czy dobrze było zorganizowane
        # Czy polecilbys nasze warsztaty znajomym
        # Czy moglibyśmy lepiej się reklamować
        # Czy jakieś zagadnienia były za mało poruszone Albo za dużo
        # Czego brakowało
        # https://docs.google.com/forms/d/e/1FAIpQLSctlgSwoKQoB_3Hc5bfu3RYLbz0TNKQmg23jnc8MJ3wwRJn7g/viewform
    ]
Example #26
0
class LessonFeedbackQuestion(Table):
    _name = 'lesson_feedback_question'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('author', ForeignKey('users'), default=DEFAULT_USER),
        Column('type', String(50)),
        Column('description', String(5000)),
        Column('answers', CodeString(10000))
    ]

    @classmethod
    async def get_by_lesson_id(cls, lid):
        return await cls.get_by_join("lesson_feedback_meta",
                                     lesson=lid,
                                     id=StringLiteral("question"))
Example #27
0
    def new_db_from_pandas(self,frame,table=None,data=None,load=True, **kwargs):
        """Create a new db partition from a pandas data frame.

        If the table does not exist, it will be created

        """

        from orm import Column
        # from dbexceptions import ConfigurationError

        # Create the table from the information in the data frame.
        with self.bundle.session:
            sch = self.bundle.schema
            t = sch.add_table(table)

            if frame.index.name:
                id_name = frame.index.name
            else:
                id_name = 'id'

            sch.add_column(t,id_name,
                datatype=Column.convert_numpy_type(frame.index.dtype),is_primary_key=True)

            for name, type_ in zip([row for row in frame.columns],
                                   [row for row in frame.convert_objects(convert_numeric=True,
                                                                         convert_dates=True).dtypes]):
                sch.add_column(
                    t,
                    name,
                    datatype=Column.convert_numpy_type(type_))
                sch.write_schema()

        p = self.new_partition(table=table, data=data, **kwargs)

        if load:
            pk_name = frame.index.name
            with p.inserter(table) as ins:
                for i, row in frame.iterrows():
                    d = dict(row)
                    d[pk_name] = i

                    ins.insert(d)

        return p
Example #28
0
class Quiz(Table):
    _name = 'quiz'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('title', String(255)),
        Column('description', String(10000)),
        Column('users', ForeignKey('users'), default=1),
        Column('time_created', DateTime(), default=datetime.utcnow),
    ]

    async def get_question(self, question_order=0):
        if question_order + 1 >= await self.get_question_amount():
            return {'last': True, 'msg': 'That was last question in the quiz.'}
        qq = await QuizQuestions.get_first_by_many_field_value(
            quiz=self.id, question_order=question_order)
        return await Question.get_by_id(qq.question)

    async def get_question_amount(self):
        return len(await QuizQuestions.get_by_field_value('quiz', self.id))
Example #29
0
class Question(Table):
    _name = 'question'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('question', String(1000)),
        Column('answares', CodeString(2000), default=''),
        Column('possible_answare', String(1000), default=''),
        Column('qtype', String(50), default='plain'),
        Column('img', String(255), required=False, default=''),
        Column('users', ForeignKey('users'), default=DEFAULT_USER),
        Column('time_created', DateTime(), default=datetime.utcnow),
    ]
Example #30
0
class AbsenceMeta(Table):
    _name = 'absence_meta'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('lesson', ForeignKey('lesson')),
        Column('code', String(10)),
        Column('active', Boolean(), default=True),
        Column('users', ForeignKey('users')),
        Column('time_created', DateTime(), default=datetime.utcnow),
        Column('time_ended', DateTime()),
    ]
Example #31
0
class Exercise(Table):
    _name = 'exercise'
    _schema = [
        Column('id', Integer, primary_key=True),
        Column('title', String(255)),
        Column('task', CodeString(10000)),
        Column('possible_answare', CodeString(1000), required=False),
        Column('author', ForeignKey('users'), default=1),
        Column('time_created', DateTime(), default=datetime.utcnow),
        Column('lesson', ForeignKey('lesson')),
    ]