from os import environ import importlib.util # 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=7.00, doc="" ) if environ.get('OTREE_PRODUCTION') not in {None, '', '0'}: DEBUG = False APPS_DEBUG = False else: DEBUG = True APPS_DEBUG = True # also enables random fill in of forms SESSION_CONFIGS = [ dict( name='ESSL_Project', display_name='ESSLProject', num_demo_participants=2, app_sequence=['LieOrNotNoSelfOption', 'survey', 'payment_info'], ), dict( name='lieOrNot', display_name='4', num_demo_participants=1, app_sequence=['LieOrNotNoSelfOption'], ), dict( name='lieOrNotReminder', display_name='4Treatment', num_demo_participants=1, app_sequence=['LieOrNotNoSelfOptionReminder'], ), ] # 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='Yi_Liu_Research_Project', display_name='Yi Liu Research Project', participant_label_file='_rooms/0806labels.txt', ), dict(name='0710experiment', display_name='0710experiment'), ] ADMIN_USERNAME = 'YiLiuPR' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = 'LIUyi352188qiuLI' DEMO_PAGE_INTRO_HTML = """ Here are some oTree games. """ # don't share this with anybody. SECRET_KEY = '^-1c%t)cn^=n-h$4bi=%9f&bzth@s9@75n&zj(nou*f3w2#s#+' INSTALLED_APPS = ['otree'] if importlib.util.find_spec('otreeutils'): INSTALLED_APPS.append('otreeutils') if importlib.util.find_spec('pandas'): ROOT_URLCONF = 'iat.urls' SESSION_FIELDS = [ 'completions_by_treatment', 'past_groups', 'matrices', 'wait_for_ids', 'arrived_ids', ] PARTICIPANT_FIELDS = [ 'app_payoffs', 'expiry', 'finished_rounds', 'language', 'num_rounds', 'partner_history', 'past_group_id', 'progress', 'quiz_num_correct', 'selected_round', 'task_rounds', 'time_pressure', 'wait_page_arrival', ] # inactive session configs # dict(name='trust', display_name="Trust Game", num_demo_participants=2, app_sequence=['trust', 'payment_info']), # dict(name='prisoner', display_name="Prisoner's Dilemma", num_demo_participants=2, # app_sequence=['prisoner', 'payment_info']), # dict(name='volunteer_dilemma', display_name="Volunteer's Dilemma", num_demo_participants=3, # app_sequence=['volunteer_dilemma', 'payment_info']), # dict(name='cournot', display_name="Cournot Competition", num_demo_participants=2, app_sequence=[ # 'cournot', 'payment_info' # ]), # dict(name='dictator', display_name="Dictator Game", num_demo_participants=2, # app_sequence=['dictator', 'payment_info']), # dict(name='matching_pennies', display_name="Matching Pennies", num_demo_participants=2, app_sequence=[ # 'matching_pennies', # ]), # dict(name='traveler_dilemma', display_name="Traveler's Dilemma", num_demo_participants=2, # app_sequence=['traveler_dilemma', 'payment_info']), # dict(name='bargaining', display_name="Bargaining Game", num_demo_participants=2, # app_sequence=['bargaining', 'payment_info']), # dict(name='common_value_auction', display_name="Common Value Auction", num_demo_participants=3, # app_sequence=['common_value_auction', 'payment_info']), # dict(name='bertrand', display_name="Bertrand Competition", num_demo_participants=2, app_sequence=[ # 'bertrand', 'payment_info' # ]), # dict(name='public_goods_simple', display_name="Public Goods (simple version from tutorial)", # num_demo_participants=3, app_sequence=['public_goods_simple', 'payment_info']), # dict(name='trust_simple', display_name="Trust Game (simple version from tutorial)", num_demo_participants=2, # app_sequence=['trust_simple']),