コード例 #1
0
ファイル: views.py プロジェクト: nukru/Swarm-Surveys
def run():
    game = Games(1)
    users = StateSurvey.query.filter(StateSurvey.survey_id==ID_SURVEY,\
        StateSurvey.status.op('&')(StateSurvey.FINISH_OK),\
        StateSurvey.status.op('&')(StateSurvey.PART2_MONEY)==0,\
        StateSurvey.status.op('&')(StateSurvey.PART2_NO_MONEY)==0)
    for u in users:
        game.part2(u.user)
        print u.user.id, u.user.nickname

    game.match()

    for ss in  StateSurvey.query.filter(StateSurvey.survey_id==ID_SURVEY,\
            StateSurvey.status.op('&')(StateSurvey.FINISH_OK)):
        game.raffle(ss.user)
        print ss.id, ss.user_id

    return redirect(url_for('stats.index'))
コード例 #2
0
ファイル: test_games.py プロジェクト: nukru/Swarm-Surveys
    def test_matching(self):
        import utiles

        u = User(nickname="john", email="*****@*****.**", role=ROLE_RESEARCHER)
        db.session.add(u)
        db.session.commit()
        base = os.path.abspath(os.path.dirname(__file__))
        name = "como_son_nuestros_voluntarios_only_games.xml"
        msg, s = Survey.from_xml(os.path.join(base, name), u)
        game = Games(s.id)
        s.endDate = s.endDate + datetime.timedelta(1, 0)
        db.session.add(s)
        db.session.commit()
        n1 = 40
        utiles.generate_answers_fake(s.id, n1)
        game.match()
        users = StateSurvey.query.filter(
            StateSurvey.survey_id == s.id,
            StateSurvey.status.op("&")(StateSurvey.FINISH_OK),
            StateSurvey.status.op("&")(StateSurvey.PART2_MONEY) == 0,
            StateSurvey.status.op("&")(StateSurvey.PART2_NO_MONEY) == 0,
        )
        for u in users:
            game.part2(u.user)
            game.raffle(u.user)
        self.assertEqual(n1, len(GameImpatience.query.all()))

        n2 = 1
        utiles.generate_answers_fake(s.id, n2)
        game.match()
        users = StateSurvey.query.filter(
            StateSurvey.survey_id == s.id,
            StateSurvey.status.op("&")(StateSurvey.FINISH_OK),
            StateSurvey.status.op("&")(StateSurvey.PART2_MONEY) == 0,
            StateSurvey.status.op("&")(StateSurvey.PART2_NO_MONEY) == 0,
        )
        for u in users:
            game.part2(u.user)
            game.raffle(u.user)
        self.assertEqual(n1 + n2, len(GameImpatience.query.all()))
コード例 #3
0
ファイル: views.py プロジェクト: nukru/Swarm-Surveys
def run_part2_raffle(id_survey):
    '''run part2 and raffle if user no always game with untrue money
    '''
    game = Games(id_survey)
    game.part2(current_user)
    game.raffle(current_user)