from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'intro' players_per_group = None num_rounds = 1 piece_rate = 0.005 penalty_rate = 0.02 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): # RANDOMIZATION FLAGS preBeliefsFlag = models.IntegerField() interruptionsFlag = models.IntegerField() whichHalfFlag = models.IntegerField() whenToInterrupt = models.StringField() whenToInterrupt_second = models.StringField() # TIME STAMPS timeIntro1 = models.FloatField(initial=0) timeIntro2 = models.FloatField(initial=0) timeIntro3 = models.FloatField(initial=0) timeIntro4 = models.FloatField(initial=0) timeIntro5 = models.FloatField(initial=0) timeOnPreBeliefs1 = models.FloatField(initial=0) timeOnPreBeliefs2 = models.FloatField(initial=0) timeOnPreBeliefs3 = models.FloatField(initial=0) timeOnPreBeliefs4 = models.FloatField(initial=0) # CAPTCHA captcha1 = models.StringField( doc="""captcha field""", blank=False ) captcha2 = models.StringField( doc="""captcha field""", blank=False, initial="" ) # PRACTICE practiceUserInput = models.LongStringField( label="" ) # {{ form.practiceUserInput.errors }} # EXAMPLES exampleAnswer1 = models.StringField( label="How many mistakes would you make by entering: “987654321”?", choices=[['1', '1'],['2', '2'],['3', '3'],['4', '4'],['5', '5'],['6', '6'],['7', '7'],['8', '8'],['8', '8'], ['9', '9'],['10', '10'],['11', '11'],['12', '12'],['13', '13'],['14', '14'],['15', '15']], widget=widgets.RadioSelect, blank=False, ) exampleAnswer2 = models.StringField( label="How many mistakes would you make by entering: “987654321987654321111”?", choices=[['1', '1'],['2', '2'],['3', '3'],['4', '4'],['5', '5'],['6', '6'],['7', '7'],['8', '8'],['8', '8'], ['9', '9'],['10', '10'],['11', '11'],['12', '12'],['13', '13'],['14', '14'],['15', '15']], widget=widgets.RadioSelect, blank=False, ) # PRE-BELIEF 1 beliefp1q1 = models.StringField( choices=[['1', 'Considerably faster'], ['2', 'Slightly faster'],['3', 'No change'], ['4', 'Slightly slower'], ['5', 'Considerably slower']], label='Do you think you would get faster or slower at transcribing images as time progresses (if you tried to maintain the same accuracy)?', widget=widgets.RadioSelect, ) beliefp1q2 = models.StringField( choices=[['1', 'Considerably more mistakes'], ['2', 'Slightly more mistakes'],['3', 'No change'], ['4', 'Slightly fewer mistakes'], ['5', 'Considerably fewer mistakes']], label='Do you think you would make more or fewer mistakes as time progresses (if you tried to maintain the same typing speed)?', widget=widgets.RadioSelect, ) # PRE-BELIEF 2 beliefp2q1a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) beliefp2q2a = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0 ) beliefp2q3a = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0 ) beliefp2q4a = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0 ) beliefp2q5a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) beliefp2q6a = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0 ) beliefp2q7a = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0 ) beliefp2q8a = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0 ) beliefp2q9a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) beliefp2q1b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) beliefp2q2b = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0 ) beliefp2q3b = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0 ) beliefp2q4b = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0 ) beliefp2q5b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) beliefp2q6b = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0 ) beliefp2q7b = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0 ) beliefp2q8b = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0 ) beliefp2q9b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0 ) # PRE-BELIEF 3 beliefp3q1a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) beliefp3q2a = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0, max=100 ) beliefp3q3a = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0, max=100 ) beliefp3q4a = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0, max=100 ) beliefp3q5a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) beliefp3q6a = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0, max=100 ) beliefp3q7a = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0, max=100 ) beliefp3q8a = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0, max=100 ) beliefp3q9a = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) beliefp3q1b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) beliefp3q2b = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0, max=100 ) beliefp3q3b = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0, max=100 ) beliefp3q4b = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0, max=100 ) beliefp3q5b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) beliefp3q6b = models.FloatField( label="The second 15 minutes [minutes 15-30]", doc="""label for question 1b""", blank=False, min=0, max=100 ) beliefp3q7b = models.FloatField( label="The third 15 minutes [minutes 30-45]", doc="""label for question 1c""", blank=False, min=0, max=100 ) beliefp3q8b = models.FloatField( label="The last 15 minutes [minutes 45-60]", doc="""label for question 1d""", blank=False, min=0, max=100 ) beliefp3q9b = models.FloatField( label="The first 15 minutes [minutes 0-15]", doc="""label for question 1a""", blank=False, min=0, max=100 ) # PRE BELIEF 4 beliefp4q1 = models.IntegerField( min=0, max=10, label='How pleasant/calming or annoying/distressing would you find it to briefly respond to incoming urgent emails while transcribing barcode numbers (as compared with transcribing barcode numbers uninterruptedly)?', blank=True ) TimePlaceholder = models.FloatField()