from otree.api import (
models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer,
Currency as c, currency_range
)
from django.utils.safestring import mark_safe
import csv
author = 'Abdul Qadir Ibrahim'
doc = """
Job Characteristics
"""
class Constants(BaseConstants):
name_in_url = 'job_characteristics'
players_per_group = None
with open('JobCharacteristics/questions.csv') as questions_file:
questions = list(csv.DictReader(questions_file, delimiter=';'))
num_rounds = len(questions)
CHOICES1 = (
('Nein nicht wichtig', mark_safe(
'🙁
Nein, nicht wichtig
')), ('Eher nicht wichtig', mark_safe('😕Eher nicht wichtig
')), ('Etwas wichtig', mark_safe('😐Etwas wichtig
')), ('Eher wichtig', mark_safe('😊Eher wichtig
')), ('Ja sehr wichtig', mark_safe('😀Ja sehr wichtig
')), ) CHOICES2 = ( ('Nein stimmt nicht', mark_safe( '🙁Nein, stimmt nicht
')), ('Eher nein', mark_safe('😕Eher nein
')), ('Vielleicht,', mark_safe('😐Vielleicht,
')), ('Eher ja', mark_safe('😊Eher ja
')), ('Ja stimmt', mark_safe('😀Ja stimmt
')), ) class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: self.session.vars['questions'] = Constants.questions.copy() self.session.vars['choices1'] = Constants.CHOICES1 self.session.vars['choices2'] = Constants.CHOICES2 for p in self.get_players(): question_data = p.current_question() p.question_id = question_data['id'] p.question = question_data['question'] p.subquestion = question_data['subquestion'] class Group(BaseGroup): pass class Player(BasePlayer): question_id = models.StringField() question = models.StringField() subquestion = models.StringField() submitted_answer = models.StringField(widget=widgets.RadioSelectHorizontal) def current_question(self): return self.session.vars['questions'][self.round_number - 1]