from otree.api import * from .Constants import * from .Functions import * class LeaderPage(Page): form_model = 'player' form_fields = ['button_pressed'] @staticmethod def is_displayed(player): # return player.role == C.LEADER_ROLE if player.is_leader: print(f'showing leader page to player {player.id_in_group}') else: print(f'not showing leader page to player {player.id_in_group}') return player.is_leader def vars_for_template(self): return get_question_availability(self.group) def before_next_page(player, timeout_happened): button_name = player.button_pressed player.group.leader_button_pressed = button_name # Category if C.US_HISTORY in button_name: player.group.category_choice = "American History" if C.EASY in button_name: player.group.difficulty_choice = "Easy" df_str, category_difficulty = player.session.vars['US_history_easy'], 'US_history_easy' elif C.MEDIUM in button_name: player.group.difficulty_choice = "Medium" df_str, category_difficulty = player.session.vars['US_history_medium'], 'US_history_medium' elif C.HARD in button_name: player.group.difficulty_choice = "Hard" df_str, category_difficulty = player.session.vars['US_history_hard'], 'US_history_hard' elif C.GEOGRAPHY in button_name: player.group.category_choice = "Geography" if C.EASY in button_name: player.group.difficulty_choice = "Easy" df_str, category_difficulty = player.session.vars['geography_easy'], 'geography_easy' elif C.MEDIUM in button_name: player.group.difficulty_choice = "Medium" df_str, category_difficulty = player.session.vars['geography_medium'], 'geography_medium' elif C.HARD in button_name: player.group.difficulty_choice = "Hard" df_str, category_difficulty = player.session.vars['geography_hard'], 'geography_hard' elif C.LITERATURE in button_name: player.group.category_choice = "Literature" if C.EASY in button_name: player.group.difficulty_choice = "Easy" df_str, category_difficulty = player.session.vars['literature_easy'], 'literature_easy' elif C.MEDIUM in button_name: player.group.difficulty_choice = "Medium" df_str, category_difficulty = player.session.vars['literature_medium'], 'literature_medium' elif C.HARD in button_name: player.group.difficulty_choice = "Hard" df_str, category_difficulty = player.session.vars['literature_hard'], 'literature_hard' elif C.POP_CULTURE in button_name: player.group.category_choice = "Pop Culture" if C.EASY in button_name: player.group.difficulty_choice = "Easy" df_str, category_difficulty = player.session.vars['pop_culture_easy'], 'pop_culture_easy' elif C.MEDIUM in button_name: player.group.difficulty_choice = "Medium" df_str, category_difficulty = player.session.vars['pop_culture_medium'], 'pop_culture_medium' elif C.HARD in button_name: player.group.difficulty_choice = "Hard" df_str, category_difficulty = player.session.vars['pop_culture_hard'], 'pop_culture_hard' elif C.SCIENCE in button_name: player.group.category_choice = "Science" if C.EASY in button_name: player.group.difficulty_choice = "Easy" df_str, category_difficulty = player.session.vars['science_easy'], 'science_easy' elif C.MEDIUM in button_name: player.group.difficulty_choice = "Medium" df_str, category_difficulty = player.session.vars['science_medium'], 'science_medium' elif C.HARD in button_name: player.group.difficulty_choice = "Hard" df_str, category_difficulty = player.session.vars['science_hard'], 'science_hard' questions_left = player.select_question(df_str) player.session.vars[category_difficulty] = json.dumps(questions_left)