from os import environ # 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'] #AWS_ACCESS_KEY_ID = environ.get('AKIAIALOY2VNSJORWT4Q') #AWS_SECRET_ACCESS_KEY = environ.get('dsCV6vrMKkR4wMNTtnyyl666m6ZQ6T0CmvyVnf7x') #AWS_ACCESS_KEY_ID = 'AKIAIALOY2VNSJORWT4Q' #AWS_SECRET_ACCESS_KEY ='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' mturk_hit_settings = { 'keywords': ['bonus', 'study'], 'title': 'Syllabus Language Review', 'description': 'You will be reading a short sample syllabus and answering several questions about it.', 'frame_height': 500, #'preview_template': 'global/MTurkPreview.html', #'template': 'global/mturk_template.html', 'template': 'global/mturk_template_syllabus_pretesting.html', 'minutes_allotted_per_assignment': 60, 'expiration_hours': 2*24, # 2 days #'grant_qualification_id': 'YOUR_QUALIFICATION_ID_HERE',# to prevent retakes 'grant_qualification_id': '34TL3CYI88WIFPPKVVMV3KPLL49PHY',# to prevent retakes 'qualification_requirements': [ { 'QualificationTypeId': "00000000000000000071", 'Comparator': "EqualTo", 'LocaleValues': [{'Country': "US"}] }, { 'QualificationTypeId': "34TL3CYI88WIFPPKVVMV3KPLL49PHY", 'Comparator': "DoesNotExist", }, #{ # 'QualificationTypeId': "00000000000000000040", # 'IntegerValue': 900, #}, { 'QualificationTypeId': "000000000000000000L0", 'IntegerValues': [99], 'Comparator': "GreaterThanOrEqualTo", }, #{ # 'QualificationTypeId': "329CD4N5N4722GO4ICA187O10QCBZQ", # 'Comparator': "Exists", # 'ActionsGuarded': "DiscoverPreviewAndAccept", #}, ] } EXTENSION_APPS = [ 'captcha', ] INSTALLED_APPS = ['otree', # 'captcha', ] RECAPTCHA_PUBLIC_KEY = '6LcA8uYUAAAAALxk6xXSK4-pKBsuFIn9OF_LURzw' RECAPTCHA_PRIVATE_KEY = '6LcA8uYUAAAAAAgiJR-RKx8Gu0kECxexXipYiy3i' #RECAPTCHA_PUBLIC_KEY = 'YOUR_PUBLIC_KEY' #RECAPTCHA_PRIVATE_KEY = 'YOUR_PRIVATE_KEY' #NOCAPTCHA = True SESSION_CONFIG_DEFAULTS = { 'real_world_currency_per_point': .01, 'participation_fee': 0.50, 'doc': "You will be asked to read a short sample syllabus for a college course and answering several survey " "questions about it.", 'mturk_hit_settings': mturk_hit_settings, } SESSION_CONFIGS = [ { 'name': 'syllabus_pretesting', 'display_name': "Syllabus Language", 'num_demo_participants': 1, 'app_sequence': [ 'syllabus_pretesting', #'payment_info' ], }, { 'name': 'de_draft_three', 'display_name': "DE", 'num_demo_participants': 1, 'app_sequence': [ 'de_draft_three', #'payment_info' ], }, { 'name': 'de_control', 'display_name': "DEc", 'num_demo_participants': 1, 'app_sequence': [ 'de_control', #'payment_info' ], }, { 'name': 'de_path_es', 'display_name': "DE Path ES", 'num_demo_participants': 1, 'app_sequence': [ 'de_path_es', #'payment_info' ], }, { 'name': 'de_path_control', 'display_name': "DE Path Control", 'num_demo_participants': 1, 'app_sequence': [ 'de_path_control', #'payment_info' ], }, { 'name': 'confidence_stopping', 'display_name': "Confidence in Stopping", 'num_demo_participants': 1, 'app_sequence': [ 'confidence_stopping', 'stopping_rule_student_questions' # 'payment_info' ], }, { 'name': 'stopping_rule_student_questions', 'display_name': "End of Stopping Rule Experiment Questions", 'num_demo_participants': 1, 'app_sequence': [ 'stopping_rule_student_questions' # 'payment_info' ], }, { 'name': 'testing_hit_deployment', 'display_name': "testing_hit_deployment", 'num_demo_participants': 1, 'app_sequence': [ 'testing_hit_deployment', 'payment_info' ], }, { 'name': 'graph_ten', 'display_name': "Graph Attempt 10", 'num_demo_participants': 1, 'app_sequence': [ 'graph_ten', 'payment_info' ], }, { 'name': 'graph_nine', 'display_name': "Graph Attempt 9", 'num_demo_participants': 1, 'app_sequence': [ 'graph_nine', 'payment_info' ], }, { 'name': 'invdec_debug1', 'display_name': "Investment Decision Debug 1", 'num_demo_participants': 1, 'app_sequence': [ 'invdec_debug1', 'payment_info' ], }, { 'name': 'bargaining', 'display_name': "Bargaining Game", 'num_demo_participants': 2, 'app_sequence': ['bargaining', 'payment_info'], }, { 'name': 'real_effort', 'display_name': "Real-effort transcription task", 'num_demo_participants': 1, 'app_sequence': [ 'real_effort', ], }, { 'name': 'lemon_market', 'display_name': "Lemon Market Game", 'num_demo_participants': 3, 'app_sequence': [ 'lemon_market', 'payment_info' ], }, { 'name': 'lemon_market_2', 'display_name': "Lemon Market Game v2", 'num_demo_participants': 3, 'app_sequence': [ 'lemon_market_2', 'payment_info' ], }, { 'name': 'graph_four', 'display_name': "Graph Attempt 4", 'num_demo_participants': 2, 'app_sequence': [ 'graph_four', 'payment_info' ], }, { 'name': 'graph_five', 'display_name': "Graph Attempt 5", 'num_demo_participants': 2, 'app_sequence': [ 'graph_five', 'payment_info' ], }, #{ # 'name': 'graph_six', # 'display_name': "Graph Attempt 6", # 'num_demo_participants': 2, # 'app_sequence': [ # 'graph_six', 'payment_info' #], #}, { 'name': 'graph_seven', 'display_name': "Graph Attempt 7", 'num_demo_participants': 2, 'app_sequence': [ 'graph_seven', 'payment_info' ], }, { 'name': 'graph_eight', 'display_name': "Graph Attempt 8", 'num_demo_participants': 1, 'app_sequence': [ 'graph_eight', 'payment_info' ], }, # { # 'name': 'public_goods', # 'display_name': "Public Goods", # 'num_demo_participants': 3, # 'app_sequence': ['public_goods', 'payment_info'], #}, # { # 'name': 'guess_two_thirds', # 'display_name': "Guess 2/3 of the Average", # 'num_demo_participants': 3, # 'app_sequence': ['guess_two_thirds', 'payment_info'], #}, # { # 'name': 'survey', # 'num_demo_participants': 1, # 'app_sequence': ['survey', 'payment_info'], #}, # { # 'name': 'quiz', # 'num_demo_participants': 1, # 'app_sequence': ['quiz'], #}, #{ #'name': 'mturk_test1', #'num_demo_participants':1, #'app_sequence':['mturk_test1','payment_info'], #}, # { #'name': 'my_simple_survey', #'num_demo_participants': 1, #'app_sequence': ['my_simple_survey'], #}, { 'name': 'dedraft1', 'num_demo_participants': 2, 'app_sequence': ['dedraft1'], }, { 'name': 'dedraft2_2', 'num_demo_participants': 4, 'app_sequence': ['dedraft2_2'], }, { 'name': 'ultimatum', 'display_name': "Ultimatum (randomized: strategy vs. direct response)", 'num_demo_participants': 8, 'app_sequence': ['ultimatum', 'payment_info'], }, { 'name': 'matching_pennies', 'display_name': "Matching Pennies", 'num_demo_participants': 2, 'app_sequence': [ 'matching_pennies', ], }, #{ # 'name': 'dedraft2', # 'num_demo_participants': 4, # 'app_sequence': ['dedraft2'], #}, # { # 'name': 'my_public_goods', # 'num_demo_participants': 3, # 'app_sequence': ['my_public_goods'], #}, { 'name': 'my_trust', 'display_name': 'My Trust Game (Simple Version)', 'num_demo_participants': 2, 'app_sequence': ['my_trust'], }, { 'name': 'prisoner', 'display_name': "Prisoner's Dilemma", 'num_demo_participants': 2, 'app_sequence': ['prisoner', 'payment_info'], }, { 'name': 'ultimatum_strategy', 'display_name': "Ultimatum (strategy method treatment)", 'num_demo_participants': 2, 'app_sequence': ['ultimatum', 'payment_info'], 'use_strategy_method': True, }, #{ # 'name': 'vickrey_auction', # 'display_name': "Vickrey Auction", # 'num_demo_participants': 3, #'app_sequence': ['vickrey_auction', 'payment_info'], # }, { 'name': 'graph_attempt1', 'display_name': "Graph Attempt 1", 'num_demo_participants': 2, 'app_sequence': ['graph_attempt1', 'payment_info'], }, # { # 'name': 'graph_attempt3', # 'display_name': "Graph Attempt 3", # 'num_demo_participants': 3, # 'app_sequence': ['graph_attempt3', 'payment_info'], #}, # { # 'name': 'volunteer_dilemma', # 'display_name': "Volunteer's Dilemma", # 'num_demo_participants': 3, # 'app_sequence': ['volunteer_dilemma', 'payment_info'], #}, #{ # 'name': 'principal_agent', # 'display_name': "Principal Agent", # 'num_demo_participants': 2, #'app_sequence': ['principal_agent', 'payment_info'], #}, #{ # 'name': 'traveler_dilemma', # 'display_name': "Traveler's Dilemma", # 'num_demo_participants': 2, #'app_sequence': ['traveler_dilemma', 'payment_info'], # }, ] # see the end of this file for the inactive session configs # 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 = True #POINTS_DECIMAL_PLACES=2 ROOMS = [ { 'name': 'econ101', 'display_name': 'Econ 101 class', 'participant_label_file': '_rooms/econ101.txt', }, { 'name': 'live_demo', 'display_name': 'Room for live demo (no participant labels)', }, ] # AUTH_LEVEL: # this setting controls which parts of your site are freely accessible, # and which are password protected: # - If it's not set (the default), then the whole site is freely accessible. # - If you are launching a study and want visitors to only be able to # play your app if you provided them with a start link, set it to STUDY. # - If you would like to put your site online in public demo mode where # anybody can play a demo version of your game, but not access the rest # of the admin interface, set it to DEMO. # for flexibility, you can set it in the environment variable OTREE_AUTH_LEVEL AUTH_LEVEL = environ.get('OTREE_AUTH_LEVEL') ADMIN_USERNAME = 'admin' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD') # Consider '', None, and '0' to be empty/false DEBUG = (environ.get('OTREE_PRODUCTION') in [None, '', '0']) DEMO_PAGE_INTRO_HTML = """ Here are various games implemented with oTree. These games are open source, and you can modify them as you wish. """ # don't share this with anybody. SECRET_KEY = 'jnzpfdlsrht@#syg5^n-qum)p0j8!tny5hi-dzra+ug1vdpf)c' # if an app is included in SESSION_CONFIGS, you don't need to list it here INSTALLED_APPS = ['otree'] # inactive session configs ### { ### 'name': 'trust', ### 'display_name': "Trust Game", ### 'num_demo_participants': 2, ### 'app_sequence': ['trust', 'payment_info'], ### }, #{ # 'name': 'graph_three', # 'display_name': "Graph Attempt 3", # 'num_demo_participants': 4, # 'app_sequence': [ # 'graph_three', 'payment_info' #], #}, ### { ### 'name': 'prisoner', ### 'display_name': "Prisoner's Dilemma", ### 'num_demo_participants': 2, ### 'app_sequence': ['prisoner', 'payment_info'], ### }, ### { ### 'name': 'ultimatum', ### 'display_name': "Ultimatum (randomized: strategy vs. direct response)", ### 'num_demo_participants': 2, ### 'app_sequence': ['ultimatum', 'payment_info'], ### }, ### { ### 'name': 'ultimatum_strategy', ### 'display_name': "Ultimatum (strategy method treatment)", ### 'num_demo_participants': 2, ### 'app_sequence': ['ultimatum', 'payment_info'], ### 'use_strategy_method': True, ### }, ### { ### 'name': 'ultimatum_non_strategy', ### 'display_name': "Ultimatum (direct response treatment)", ### 'num_demo_participants': 2, ### 'app_sequence': ['ultimatum', 'payment_info'], ### 'use_strategy_method': False, ### }, ### { ### 'name': 'vickrey_auction', ### 'display_name': "Vickrey Auction", ### 'num_demo_participants': 3, ### 'app_sequence': ['vickrey_auction', 'payment_info'], ### }, ### { ### 'name': 'volunteer_dilemma', ### 'display_name': "Volunteer's Dilemma", ### 'num_demo_participants': 3, ### 'app_sequence': ['volunteer_dilemma', 'payment_info'], ### }, ### { ### 'name': 'cournot', ### 'display_name': "Cournot Competition", ### 'num_demo_participants': 2, ### 'app_sequence': [ ### 'cournot', 'payment_info' ### ], ### }, ### { ### 'name': 'principal_agent', ### 'display_name': "Principal Agent", ### 'num_demo_participants': 2, ### 'app_sequence': ['principal_agent', 'payment_info'], ### }, ### { ### 'name': 'dictator', ### 'display_name': "Dictator Game", ### 'num_demo_participants': 2, ### 'app_sequence': ['dictator', 'payment_info'], ### }, ### { ### 'name': 'traveler_dilemma', ### 'display_name': "Traveler's Dilemma", ### 'num_demo_participants': 2, ### 'app_sequence': ['traveler_dilemma', 'payment_info'], ### }, ### { ### 'name': 'bargaining', ### 'display_name': "Bargaining Game", ### 'num_demo_participants': 2, ### 'app_sequence': ['bargaining', 'payment_info'], ### }, ### { ### 'name': 'common_value_auction', ### 'display_name': "Common Value Auction", ### 'num_demo_participants': 3, ### 'app_sequence': ['common_value_auction', 'payment_info'], ### }, ### { ### 'name': 'bertrand', ### 'display_name': "Bertrand Competition", ### 'num_demo_participants': 2, ### 'app_sequence': [ ### 'bertrand', 'payment_info' ### ], ### }, ### { ### { ### 'name': 'public_goods_simple', ### 'display_name': "Public Goods (simple version from tutorial)", ### 'num_demo_participants': 3, ### 'app_sequence': ['public_goods_simple', 'payment_info'], ### }, ### { ### 'name': 'trust_simple', ### 'display_name': "Trust Game (simple version from tutorial)", ### 'num_demo_participants': 2, ### 'app_sequence': ['trust_simple'], ### },