from os import environ mturk_hit_settings=dict( keywords='bonus, study', title='Resource Game (20/40 minutes, up to 5.5$)', description='Manage two interlinked resources', frame_height=500, template='global/mturk_template.html', minutes_allotted_per_assignment=60, expiration_hours=7 * 24, qualification_requirements=[ # grant_qualification_id='YOUR_QUALIFICATION_ID_HERE', # to prevent retakes # CHECK THIS # Only US { 'QualificationTypeId': "00000000000000000071", 'Comparator': "EqualTo", 'LocaleValues': [{'Country': "US"}] }, # At least 500 HITs approved { 'QualificationTypeId': "00000000000000000040", 'Comparator': "GreaterThanOrEqualTo", 'IntegerValues': [500] }, # At least 95% of HITs approved { 'QualificationTypeId': "000000000000000000L0", 'Comparator': "GreaterThanOrEqualTo", 'IntegerValues': [95] }, ], ) SESSION_CONFIGS = [ dict( name='BASELINE_treatment', app_sequence=['first_page', 'training_BASELINE', 'BASELINE_treatment', 'questionnaire_baseline', 'final_page'], num_demo_participants=4, participant_fields='is_dropout', display_name="BASELINE", ), dict( name='BASELINE_TIMELAG_treatment', app_sequence=['first_page', 'training_TIMELAG', 'BASELINE_TIMELAG_treatment', 'questionnaire_time_lags', 'final_page'], num_demo_participants=4, display_name="TIME LAG", ), ] # dict( # name='questionnaire_time_lags', # app_sequence=['questionnaire_time_lags'], # num_demo_participants=2, # display_name="Questionnaire Time Lags " # ), # dict( # name='training_TIMELAG', # app_sequence=['training_TIMELAG'], # num_demo_participants=4, # participant_fields='is_dropout', # display_name="Training TIME LAG", # ), # dict( # name='training_BASELINE', # app_sequence=['training_BASELINE'], # num_demo_participants=4, # participant_fields='is_dropout', # display_name="Training BASELINE", # ), # dict( # name='questionnaire_time_lags', # app_sequence=['questionnaire_time_lags'], # num_demo_participants=2, # display_name="Questionnaire Time Lags " # ), # dict( # name='Treatment_Baseline', # app_sequence=['Treatment_Baseline', 'final_page'], # num_demo_participants=3, # display_name="Baseline Treatment", # ), # dict( # name='Treatment_Time_Lag', # app_sequence=['intro_real_effort', 'Treatment_Time_Lag', 'questionnaire_time_lags', 'final_page'], # num_demo_participants=4, # display_name="Time Lag Treatment", # ), # dict( # name='resource_game', # app_sequence=['resource_game', 'final_page'], # num_demo_participants=4, # display_name="Resource Game", # ), # dict( # name='guess_two_thirds', # display_name="Guess 2/3 of the Average", # app_sequence=['guess_two_thirds', 'payment_info'], # num_demo_participants=3, # ), # if you set a property in SESSION_CONFIG_DEFAULTS, it will be inherited by all configs # in SESSION_CONFIGS, except those that explicitly override it. # the session config can be accessed from methods in your apps as self.session.config, # e.g. self.session.config['participation_fee'] SESSION_CONFIG_DEFAULTS = dict( real_world_currency_per_point=0.0132, participation_fee=0, doc="", mturk_hit_settings=mturk_hit_settings, ) PARTICIPANT_FIELDS = [ 'is_dropout', ] SESSION_FIELDS = [] # ISO-639 code # for example: de, fr, ja, ko, zh-hans LANGUAGE_CODE = 'en' # e.g. EUR, GBP, CNY, JPY REAL_WORLD_CURRENCY_CODE = 'USD' USE_POINTS = False ROOMS = [ dict( name='econ101', display_name='Econ 101 class', participant_label_file='econ101.txt', ), dict(name='live_demo', display_name='Room for live demo (no participant labels)'), ] ADMIN_USERNAME = 'admin' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD') DEMO_PAGE_INTRO_HTML = """ Here are some oTree games. """ SECRET_KEY = '3263393683107' INSTALLED_APPS = ['otree'] AWS_ACCESS_KEY_ID = environ.get('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = environ.get('AWS_SECRET_ACCESS_KEY')