Exemplo n.º 1
0
    def createResult(cls, result):
        cls.initDAO()
        session = Session()
        try:
            session.add(result)
            session.flush()
            session.commit()
        except IntegrityError as err:
            return cls.getTrainingSessionByID(result.id)

        session.close()
        return result
Exemplo n.º 2
0
    def createEmail(cls, email):
        cls.initDAO()
        session = Session()
        try:
            session.add(email)
            session.flush()
            session.commit()
        except IntegrityError as err:
            return cls.getEmailByID(email.id)

        session.close()
        return email
Exemplo n.º 3
0
    def createUser(cls, user):
        cls.initDAO()
        session = Session()
        try:
            session.add(user)
            session.flush()
            session.commit()
        except IntegrityError as err:
            return cls.getUserByID(user.id)

        return user
Exemplo n.º 4
0
 def getAllUsers(cls):
     cls.initDAO()
     session = Session()
     return session.query(User).all()
Exemplo n.º 5
0
 def getUserByID(cls, id):
     cls.initDAO()
     session = Session()
     return session.query(User).filter(User.id == id).limit(1).first()
Exemplo n.º 6
0
 def getAggregatedResultForUser(cls, user):
     cls.initDAO()
     session = Session()
     return session.query(func.sum(Result.correct).label("total_correct"),
                          func.sum(Result.wrong).label("total_wrong")).filter(Result.user_id == user).first()
Exemplo n.º 7
0
 def getResultByID(cls, id):
     cls.initDAO()
     session = Session()
     return session.query(Result).filter(Result.id == id).limit(1).first()
Exemplo n.º 8
0
 def getLogin(cls, login):
     cls.initDAO()
     session = Session()
     return session.query(Login).filter(
         Login.username == login.username).first()
Exemplo n.º 9
0
 def getAllEmails(cls):
     cls.initDAO()
     session = Session()
     return session.query(Email).all()
Exemplo n.º 10
0
 def getRandomNEmails(cls, n):
     cls.initDAO()
     session = Session()
     return session.query(Email).order_by(func.random()).limit(5)
Exemplo n.º 11
0
 def getEmailByID(cls, id):
     cls.initDAO()
     session = Session()
     return session.query(Email).order_by().limit(1)
Exemplo n.º 12
0
    def createTrainingSession(cls, training_session):
        cls.initDAO()
        session = Session()
        try:
            session.add(training_session)
            session.flush()
            print("ID is")
            print(training_session.id)
            session.commit()
        except IntegrityError as err:
            return cls.getTrainingSessionByID(training_session.id)
        except InvalidRequestError as ierr:
            print(ierr)
            l = session.merge(training_session)
            session.add(l)
            session.flush()
            print("ID is")
            print(training_session.id)
            session.commit()

        session.close()
        return training_session
Exemplo n.º 13
0
 def getTrainingSessionByID(cls, id):
     cls.initDAO()
     session = Session()
     return session.query(TrainingSession).filter(TrainingSession.id == id).limit(1).first()