from os import environ SESSION_CONFIGS = [ dict( name="lettertonumber", display_name="Letter-to-number encryption", app_sequence=['example','real_effort'], task = 'decoding', max_correct=1, num_demo_participants=20, ) ] # 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=1.00, participation_fee=2.00, doc="", ) PARTICIPANT_FIELDS = ['is_dropout','finished'] SESSION_FIELDS = ['params','prolific_completion_url','participants_per_treatments'] LANGUAGE_CODE = "en" REAL_WORLD_CURRENCY_CODE = "USD" USE_POINTS = True ADMIN_USERNAME = "admin" # for security, best to set admin password in an environment variable ADMIN_PASSWORD = environ.get("OTREE_ADMIN_PASSWORD") DEMO_PAGE_TITLE = "Real-effort tasks" DEMO_PAGE_INTRO_HTML = "Worker Phase" SECRET_KEY = "4150088202112996" # adjustments for testing # generating session configs for all varieties of features import sys if sys.argv[1] == 'test': MAX_ITERATIONS = 5 FREEZE_TIME = 0.1 TRIAL_PAUSE = 0.2 TRIAL_TIMEOUT = 0.3 for task in ['decoding', 'matrix']: SESSION_CONFIGS.extend( [ dict( name=f"testing_{task}_defaults", num_demo_participants=1, app_sequence=['real_effort'], puzzle_delay=TRIAL_PAUSE, retry_delay=FREEZE_TIME, ), dict( name=f"testing_{task}_retrying", num_demo_participants=1, app_sequence=['real_effort'], puzzle_delay=TRIAL_PAUSE, retry_delay=FREEZE_TIME, ), dict( name=f"testing_{task}_limited", num_demo_participants=1, app_sequence=['real_effort'], puzzle_delay=TRIAL_PAUSE, retry_delay=FREEZE_TIME, ), ] )