from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) doc = '' class C(BaseConstants): NAME_IN_URL = 'Survey_court_israel' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): def creating_session(self): import random for player in self.get_players(): player.specific_decision = random.choice( ['equal_jew', 'equal_arab', 'speech_relig', 'speech_secular', 'Reasonableness_rigth', 'Reasonableness_left', 'CG']) class Group(BaseGroup): pass def double_list(l): return [[i,i] for i in l ] choice_support_list = ['1—strongly support', '2—somewhat support', '3—slightly support', '4—slightly oppose', '5—somewhat oppose','6—strongly oppose'] choices_list={'court_decision':['1-Generally to the left','2-Generally to the right','3-Case by case basis' ], 'equal_treatment_arab':choice_support_list } class Player(BasePlayer): choice_past_list = (['1—benefited a great deal','1—benefited a great deal'], ['2—benefited somewhat','2—benefited somewhat'], ['3—benefited slightly','3—benefited slightly'], ['4—not really influenced','4—not really influenced'], ['5—been hurt slightly','5—been hurt slightly'], ['6—been hurt somewhat','6—been hurt somewhat'], ['7—been hurt a great deal','7—been hurt a great deal']) court_decision = models.StringField(choices=double_list(choices_list['court_decision']) , label='Judging by its recent decisions, do you think the Israeli Supreme Court is generally to the left, generally to the right, or is it making decisions more on a case-by-case basis?', widget=widgets.RadioSelect) equal_treatment_arab = models.StringField(choices=double_list(choices_list['equal_treatment_arab']),label='Arab Israelis',widget=widgets.RadioSelectHorizontal) equal_treatment_immigrant = models.StringField(choices=double_list(choice_support_list), label='Immigrants',widget=widgets.RadioSelectHorizontal) equal_treatment_women = models.StringField(choices=double_list(choice_support_list), label='Women',widget=widgets.RadioSelectHorizontal) equal_treatment_lgbt = models.StringField(choices=double_list(choice_support_list), label='Individuals in same sex relationship',widget=widgets.RadioSelectHorizontal) equal_treatment_relig = models.StringField(choices=double_list(choice_support_list), label='Religious and secular jews',widget=widgets.RadioSelectHorizontal) specific_decision_quality=models.StringField(choices=double_list(choice_support_list),label='On the following scale of 1-7 please indicate what you think of this decision ',default='None',widget=widgets.RadioSelectHorizontal) specific_decision=models.StringField() influence_society = models.StringField(choices=choice_past_list, label='In general, how do you think SOCIETY has been influenced by decisions of the Supreme Court? ', widget=widgets.RadioSelect) influence_like_you = models.StringField(choices=choice_past_list, label='Specifically, how do you think PEOPLE LIKE YOU have been influenced by decisions of the Israeli Supreme Court? ', widget=widgets.RadioSelect) def my_function(player: Player): pass