from otree.api import * import random doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'questionsdemographics' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 factor = 2 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): ##things the player can enter number_entered = models.FloatField() likert1 = models.StringField( choices=["1 Nada", "2 Muy poco", "3 Poco", "4 Indiferente", "5 Algo", "6 Mucho", "7 Muchísimo"], widget=widgets.RadioSelectHorizontal) likert2 = models.StringField( choices=["1 Nada", "2 Muy poco", "3 Poco", "4 Indiferente", "5 Algo", "6 Mucho", "7 Muchísimo"], widget=widgets.RadioSelectHorizontal) likert3 = models.StringField(choices=["Sí", "No"], widget=widgets.RadioSelectHorizontal) likert4 = models.StringField(choices=["Lo he hecho", "Podría hacerlo", "Nunca lo haría"], widget=widgets.RadioSelectHorizontal) likert5 = models.StringField(choices=["Lo he hecho", "Podría hacerlo", "Nunca lo haría"], widget=widgets.RadioSelectHorizontal) likert6 = models.StringField(choices=["Lo he hecho", "Podría hacerlo", "Nunca lo haría"], widget=widgets.RadioSelectHorizontal) likert7 = models.StringField(choices=["Lo he hecho", "Podría hacerlo", "Nunca lo haría"], widget=widgets.RadioSelectHorizontal) likert8 = models.StringField(choices=["Unidad Nacional de la esperanza (UNE)", "Coalición Valor-Unionista", "CABAL", "Prosperidad Ciudadana", "Partido Republicano", "Movimiento Semilla", "CAMBIO", "VAMOS", "Partido Azul", "Victoria", "Partido de Integración Nacional", "Comunidad Elefante", "Partido 'TODOS'", "FCN NACIÓN", "CREO", "VIVA", "Partido Humanista", "Voluntad, Oportunidad, Solidaridad", "Nosotros", "Unión Republicana", "Bienestar Nacional", "Coalición URNG - WINAQ", "Mi Familia", "Voto en blanco", "Ninguno"], widget=widgets.RadioSelect) likert9 = models.StringField( choices=["1 Totalmente en desacuerdo", "2", "3", "4", "5", "6", "7 Totalmente de acuerdo"], widget=widgets.RadioSelectHorizontal) likert10 = models.StringField( choices=["1 Totalmente en desacuerdo", "2", "3", "4", "5", "6", "7 Totalmente de acuerdo"], widget=widgets.RadioSelectHorizontal) likert11 = models.StringField( choices=["1 Totalmente en desacuerdo", "2", "3", "4", "5", "6", "7 Totalmente de acuerdo"], widget=widgets.RadioSelectHorizontal) likert12 = models.StringField( choices=["1 Totalmente en desacuerdo", "2", "3", "4", "5", "6", "7 Totalmente de acuerdo"], widget=widgets.RadioSelectHorizontal) likert13 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert14 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert15 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert16 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert17 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert18 = models.StringField(choices=["Muy Malo", "Malo", "Bueno", "Muy Bueno"], widget=widgets.RadioSelectHorizontal) likert19 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert20 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert21 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert22 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert23 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert24 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert25 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert26 = models.StringField(choices=["1 Nada probable", "2", "3", "4 Indiferente", "5", "6", "7 Muy Probable"], widget=widgets.RadioSelectHorizontal) likert27 = models.StringField(choices=["Izquierda", "2", "3", "4", "5", "6", "Derecha"], widget=widgets.RadioSelectHorizontal) likert28 = models.StringField( choices=["Sandra Torres", "Zury Rios", "Edmund Mullet", "Carlos Pineda", "Rafael Espada", "Bernardo Arévalo de León", "Álvaro Trujillo Baldizón", "Manuel Conde", "Isaac Farchi", "Amilcar Rivera", "Luis Antonio Lam Padilla", "Hugo Peña", "Ricardo Sagastume", "Sammy Morales", "Francisco Arredondo", "Armando Castillo", "Rudio Lecsán Mérida", "Manuel Villacorta", "Rudy Guzmán", "Giulio Talamonti", "Giovanni Reyes", "Amilcar Pop", "Julio Rivera Clavería", "Otro", "Ninguno"], widget=widgets.RadioSelect) likert29 = models.StringField( choices=["Sandra Torres", "Zury Rios", "Edmund Mullet", "Carlos Pineda", "Rafael Espada", "Bernardo Arévalo de León", "Álvaro Trujillo Baldizón", "Manuel Conde", "Isaac Farchi", "Amilcar Rivera", "Luis Antonio Lam Padilla", "Hugo Peña", "Ricardo Sagastume", "Sammy Morales", "Francisco Arredondo", "Armando Castillo", "Rudio Lecsán Mérida", "Manuel Villacorta", "Rudy Guzmán", "Giulio Talamonti", "Giovanni Reyes", "Amilcar Pop", "Julio Rivera Clavería", "Otro", "Ninguno"], widget=widgets.RadioSelect) likert30 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert31 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert32 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert33 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert34 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert35 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert36 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert37 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert38 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert39 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert40 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert41 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert42 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert43 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert44 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert45 = models.StringField( choices=["1 Ninguna", "2 Muy Poca", "3 Poca", "4 Ni confía ni desconfïa", "5 Algo", "6 Mucha", "7 Plena Confianza"], widget=widgets.RadioSelectHorizontal) likert46 = models.StringField(choices=["Sí", "No"], widget=widgets.RadioSelectHorizontal) likert47 = models.StringField(choices=["Sí", "No"], widget=widgets.RadioSelectHorizontal) q1 = models.StringField() q2 = models.StringField() q3 = models.StringField() q4 = models.StringField() q5 = models.StringField() q6 = models.StringField() q7 = models.StringField() q8 = models.StringField() q9 = models.StringField() q10 = models.StringField() q11 = models.StringField() q12 = models.StringField() q13 = models.StringField() q14 = models.StringField() q15 = models.StringField() q16 = models.StringField() q17 = models.StringField() q18 = models.StringField() q19 = models.StringField() q20 = models.StringField() q21 = models.StringField() q22 = models.StringField() q23 = models.StringField() q24 = models.StringField() q25 = models.StringField() q26 = models.StringField() q27 = models.StringField() q28 = models.StringField() q29 = models.StringField() q30 = models.StringField() q31 = models.StringField() q32 = models.StringField() q33 = models.StringField() q34 = models.StringField() q35 = models.StringField() q36 = models.StringField() q37 = models.StringField() q38 = models.StringField() q39 = models.StringField() q40 = models.StringField() q41 = models.StringField() q42 = models.StringField() q43 = models.StringField() q44 = models.StringField() q45 = models.StringField() q46 = models.StringField() q47 = models.StringField() attentioncheck = models.StringField(choices=["1", "2", "3", "4", "5", "6", "7"], widget=widgets.RadioSelectHorizontal) demog1 = models.StringField(choices=[['Arquitectura y diseño', 'Arquitectura y diseño'], ['Ciencias agrarias y medioambientales', 'Ciencias agrarias y medioambientales'], ['Ciencias de la salud', 'Ciencias de la salud'], ['Economía y empresa', 'Economía y empresa'], ['Derecho y ciencias sociales', 'Derecho y ciencias sociales'], ['Ciencias políticas', 'Ciencias políticas'], ['Humanidades', 'Humanidades'], ['Ingeniería', 'Ingeniería'], ['Teología', 'Teología']], label='Elige uno:', widget=widgets.RadioSelect) demog2 = models.StringField( choices=[['Ciudad/urbano', 'Ciudad/urbano'], ['Suburbano', 'Suburbano'], ['Rural', 'Rural']], label='Elige uno:', widget=widgets.RadioSelect) demog3 = models.IntegerField(label='Edad en número de años:') demog4 = models.StringField( choices=[['Masculino ', 'Masculino '], ['Femenino', 'Femenino'], ['No binario', 'No binario'], ['Prefiero no contestar', 'Prefiero no contestar']], label='Elige uno:', widget=widgets.RadioSelect) demog5 = models.StringField(choices=[['Maya', 'Maya'], ['Xinca', 'Xinca'], ['Garífuna', 'Garífuna'], ['Afrodescendiente', 'Afrodescendiente'], ['Ladina (Mestizo/a)', 'Ladina (Mestizo/a)'], ['Extranjera', 'Extranjera'], ['Otro', 'Otro'], ['Prefiero no contestar', 'Prefiero no contestar']], label='Elige uno:', widget=widgets.RadioSelect) demog6 = models.StringField(choices=[['Formación técnica', 'Formación técnica'], ['Formación profesional (Pregrado)', 'Formación profesional (Pregrado)'], ['Máster', 'Máster'], ['Doctorado', 'Doctorado']], label='Elige uno:', widget=widgets.RadioSelect) demog7 = models.StringField(choices=[['Menos de 1.424 GTQ al mes', 'Menos de 1.424 GTQ al mes'], ['De 1.424 a 5.695 GTQ al mes', 'De 1.424 a 5.695 GTQ al mes'], ['De 5.696 a 11.391 GTQ al mes', 'De 5.696 a 11.391 GTQ al mes'], ['De 11.392 a 22.784 GTQ al mes', 'De 11.392 a 22.784 GTQ al mes'], ['Más de 22.784 GTQ al mes', 'Más de 22.784 GTQ al mes'], ['Prefiero no contestar', 'Prefiero no contestar']], label='Elige uno:', widget=widgets.RadioSelect) demog8 = models.StringField( choices=[['Cristianismo Evangélico', 'Cristianismo Evangélico'], ['Catolicismo', 'Catolicismo'], ['Sin afiliación religiosa', 'Sin afiliación religiosa'], ['Espiritualidad Maya', 'Espiritualidad Maya'], ['Otra', 'Otra'], ['Prefiero no contestar', 'Prefiero no contestar']], label='Elige uno:', widget=widgets.RadioSelect) studentemail = models.StringField(label="Ingresa tu dirección de correo electrónico universitario") # PAGES class Page1(Page): form_model = 'player' form_fields = ['likert1', 'likert2', 'likert3', 'likert4', 'likert5', 'likert6', 'likert7', 'likert8', 'likert9', 'likert10', 'likert11', 'likert12', 'likert13', 'likert14', 'likert15', 'likert16', 'likert17', 'likert18', 'likert19', 'likert20', 'likert21', 'likert22', 'likert23', 'likert24', 'likert25', 'likert26', 'likert27', 'likert28', 'likert29', 'likert30', 'likert31', 'likert32', 'likert33', 'likert34', 'likert35', 'likert36', 'likert37', 'likert38', 'likert39', 'likert40', 'likert41', 'likert42', 'likert43', 'likert44', 'likert45', 'likert46', 'likert47', 'attentioncheck'] #def vars_for_template(player: Player): #participant = player.participant #participant.progress = 17 #result = {'progress':participant.progress} #return result #def before_next_page(player: Player, timeout_happened): #participant = player.participant #participant.progress += 1 #return result def before_next_page(player: Player, timeout_happened): participant = player.participant participant.progress += 1 class Demographics(Page): form_model = 'player' form_fields = ['demog1', 'demog2', 'demog3', 'demog4', 'demog5', 'demog6', 'demog7', 'demog8'] #def vars_for_template(player: Player): #participant = player.participant #result = {'progress':participant.progress} #return result def before_next_page(player: Player, timeout_happened): participant = player.participant participant.progress += 1 class MyPage(Page): #def vars_for_template(player: Player): #participant = player.participant #result = {'progress':participant.progress} #return result def before_next_page(player: Player, timeout_happened): participant = player.participant participant.progress += 1 class ReturnPage(Page): form_model = 'player' #def vars_for_template(player: Player): #participant = player.participant #result = {'progress':participant.progress} #return result def before_next_page(player: Player, timeout_happened): participant = player.participant participant.progress += 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant.finished = True page_sequence=[Page1,Demographics,MyPage,ReturnPage]