from otree.api import * from .Constants import * class IndividualAnswer(Page): form_model = "player" def get_form_fields(self): if self.round_number > 1: return [ "individual_answer", "player1_appraisal", "player2_appraisal", "player3_appraisal", "player4_appraisal" ] else: form_fields = ["individual_answer"] if self.id_in_group == 1: form_fields.append("player1_appraisal") elif self.id_in_group == 2: form_fields.append("player2_appraisal") elif self.id_in_group == 3: form_fields.append("player3_appraisal") elif self.id_in_group == 4: form_fields.append("player4_appraisal") return form_fields def vars_for_template(self): selected_question = self.group.get_selected_question() players = self.group.get_players() id_to_player = {player.id_in_group: player for player in players} vars = { 'category' : self.group.category_choice, 'difficulty' : self.group.difficulty_choice, 'question' : selected_question['Question'], } for i in id_to_player: vars[f'player{i}_nickname'] = f'{id_to_player[i].nickname}' vars[f'player{i}_color'] = id_to_player[i].color return vars def before_next_page(player, timeout_happened): group = player.group individual_answer = player.individual_answer group.ai_answer, group.ai_confidence = group.get_ai_answer(group.difficulty_choice) # def error_message(self, value): # print(f'++++++++++++++++++++ {value} +++++++++++++++++') # if value["check_individual_confidence"] is None: # return 'Please use the slider to give your confidence level answer.'