from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) doc = '' class C(BaseConstants): NAME_IN_URL = 'pigeonhole' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): def creating_session(self): import random for player in self.get_players(): player.player_pages = random.choice( ['12', '23']) class Group(BaseGroup): pass def double_list(l): return [[i,i] for i in l ] choices_list=dict() class Player(BasePlayer): player_pages = models.StringField() ph_left_1 = models.StringField() ph_left_2 = models.StringField() ph_left_3 = models.StringField() ph_left_4 = models.StringField() ph_right_1 = models.StringField() ph_right_2 = models.StringField() ph_right_3 = models.StringField() ph_right_4 = models.StringField() ph2_left_1 = models.StringField() ph2_left_2 = models.StringField() ph2_left_3 = models.StringField() ph2_left_4 = models.StringField() ph2_right_1 = models.StringField() ph2_right_2 = models.StringField() ph2_right_3 = models.StringField() ph2_right_4 = models.StringField() def my_function(player: Player): pass