from otree.api import * from intro import C as CIntro doc = """ This is the page for dropouts. Normally, the player will not see this page. """ class C(CIntro): NAME_IN_URL = 'dropout' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pass # FUNCTIONS def is_dropout(player: Player): return player.participant.vars['is_dropout'] def is_teammate_dropout(player: Player): return not is_dropout(player) and player.participant.vars['is_teammate_dropout'] def is_waiting_too_long(player: Player): return not is_dropout(player) and player.participant.vars['waiting_too_long'] # PAGES class DropoutResults(Page): is_displayed = is_dropout class NoTeammateResults(Page): is_displayed = is_waiting_too_long class TeammateDropoutResults(Page): is_displayed = is_teammate_dropout page_sequence = [ DropoutResults, NoTeammateResults, TeammateDropoutResults ]