import os from os import environ import dj_database_url from boto.mturk import qualification import otree.settings BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # the environment variable OTREE_PRODUCTION controls whether Django runs in # DEBUG mode. If OTREE_PRODUCTION==1, then DEBUG=False # if environ.get('OTREE_PRODUCTION') not in {None, '', '0'}: # DEBUG = False # else: # DEBUG = True DEBUG=False ADMIN_USERNAME = 'admin' ADMIN_PASSWORD = 'admin' # don't share this with anybody. # Change this to something unique (e.g. mash your keyboard), # and then delete this comment. SECRET_KEY = 'zzzzzzzzzzzzzzzzzzzzzzzzzzz' PAGE_FOOTER = '' DATABASES = { 'default': dj_database_url.config( default='sqlite:///' + os.path.join(BASE_DIR, 'db.sqlite3') ) } # AUTH_LEVEL: # 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 the # environment variable OTREE_AUTH_LEVEL 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, set OTREE_AUTH_LEVEL # to DEMO. This will allow people to play in demo mode, but not access # the full admin interface. AUTH_LEVEL = environ.get('OTREE_AUTH_LEVEL') # ACCESS_CODE_FOR_DEFAULT_SESSION: # If you have a "default session" set, # then an access code will be appended to the URL for authentication. # You can change this as frequently as you'd like, # to prevent unauthorized server access. ACCESS_CODE_FOR_DEFAULT_SESSION = 'my_access_code' # setting for integration with AWS Mturk AWS_ACCESS_KEY_ID = environ.get('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = environ.get('AWS_SECRET_ACCESS_KEY') # e.g. EUR, CAD, GBP, CHF, CNY, JPY REAL_WORLD_CURRENCY_CODE = 'USD' USE_POINTS = True SENTRY_DSN = 'http://3605d48feec646e8859d343c5c9cc814:62e5c2636098468b8ae76f5aa20ff251@sentry.otree.org/76' # e.g. en-gb, de-de, it-it, fr-fr. # see: https://docs.djangoproject.com/en/1.6/topics/i18n/ LANGUAGE_CODE = 'en-us' # if an app is included in SESSION_CONFIGS, you don't need to list it here INSTALLED_APPS = [] # SENTRY_DSN = '' DEMO_PAGE_INTRO_TEXT = """

Below are various games implemented with oTree. These games are all open source, and you can modify them as you wish to create your own variations. Click one to learn more and play.

""" # from here on are qualifications requirements for workers # see description for requirements on Amazon Mechanical Turk website: # http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_QualificationRequirementDataStructureArticle.html # and also in docs for boto: # https://boto.readthedocs.org/en/latest/ref/mturk.html?highlight=mturk#module-boto.mturk.qualification mturk_hit_settings = { 'keywords': ['easy', 'bonus', 'choice', 'study'], 'title': 'Title for your experiment', 'description': 'Description for your experiment', 'frame_height': 500, 'preview_template': 'global/MTurkPreview.html', 'minutes_allotted_per_assignment': 60, 'expiration_hours': 7*24, # 7 days #'grant_qualification_id': 'YOUR_QUALIFICATION_ID_HERE',# to prevent retakes 'qualification_requirements': [ qualification.LocaleRequirement("EqualTo", "US"), qualification.PercentAssignmentsApprovedRequirement("GreaterThanOrEqualTo", 50), qualification.NumberHitsApprovedRequirement("GreaterThanOrEqualTo", 5), #qualification.Requirement('YOUR_QUALIFICATION_ID_HERE', 'DoesNotExist') ] } # 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'] # MIDDLEWARE_CLASSES = [ # # 'django.middleware.security.SecurityMiddleware', # 'whitenoise.middleware.WhiteNoiseMiddleware', # # ... # ] SESSION_CONFIG_DEFAULTS = { 'real_world_currency_per_point': 0.01, 'participation_fee': 10.00, 'num_bots': 12, 'doc': "", 'mturk_hit_settings': mturk_hit_settings, } ROOM_DEFAULTS = {} ROOMS = [ { 'name': 'auction_nps', 'display_name': 'Auction', 'participant_label_file': 'labels.txt', }, ] SESSION_CONFIGS = [ { 'name': 'auction_nps', 'display_name': "Auction NPS", 'num_demo_participants': 2, 'app_sequence': ['auction_nps'], 'price_sequence': [1, 1,2,2], #[1:First price, 2:Second price] }, ] # don't put anything after this point. STATIC_URL= '/static/' STATIC_ROOT= os.path.join(BASE_DIR, 'staticfiles') STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' otree.settings.augment_settings(globals()) # import django_heroku # django_heroku.settings(locals())