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'))
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()))
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)