Changeset View
Changeset View
Standalone View
Standalone View
studio/settings_common.py
| import os | # noqa: D100 | ||||
| from datetime import timedelta | |||||
| import os # noqa: F401 | |||||
| import pathlib | import pathlib | ||||
| import sys | import sys | ||||
| BASE_DIR = pathlib.Path(__file__).absolute().parent.parent | BASE_DIR = pathlib.Path(__file__).absolute().parent.parent | ||||
| ADMIN_SITE_HEADER = 'Blender Studio Admin' | ADMIN_SITE_HEADER = 'Blender Studio Admin' | ||||
| ADMIN_SITE_TITLE = 'Blender Studio' | ADMIN_SITE_TITLE = 'Blender Studio' | ||||
| Show All 14 Lines | INSTALLED_APPS = [ | ||||
| 'django.contrib.auth', | 'django.contrib.auth', | ||||
| 'django.contrib.contenttypes', | 'django.contrib.contenttypes', | ||||
| 'django.contrib.humanize', | 'django.contrib.humanize', | ||||
| 'django.contrib.messages', | 'django.contrib.messages', | ||||
| 'django.contrib.sessions', | 'django.contrib.sessions', | ||||
| 'django.contrib.sites', | 'django.contrib.sites', | ||||
| 'django.contrib.staticfiles', | 'django.contrib.staticfiles', | ||||
| 'blender_id_oauth_client', | 'blender_id_oauth_client', | ||||
| 'blendercloud', | |||||
| 'debug_toolbar', | 'debug_toolbar', | ||||
| 'looper', | 'looper', | ||||
| 'pipeline', | 'pipeline', | ||||
| 'sorl.thumbnail', | 'sorl.thumbnail', | ||||
| 'taggit', | 'taggit', | ||||
| ] | ] | ||||
| MIDDLEWARE = [ | MIDDLEWARE = [ | ||||
| 'debug_toolbar.middleware.DebugToolbarMiddleware', | 'debug_toolbar.middleware.DebugToolbarMiddleware', | ||||
| 'django.middleware.security.SecurityMiddleware', | 'django.middleware.security.SecurityMiddleware', | ||||
| 'django.contrib.sessions.middleware.SessionMiddleware', | 'django.contrib.sessions.middleware.SessionMiddleware', | ||||
| 'django.middleware.common.CommonMiddleware', | 'django.middleware.common.CommonMiddleware', | ||||
| 'django.middleware.csrf.CsrfViewMiddleware', | 'django.middleware.csrf.CsrfViewMiddleware', | ||||
| 'django.contrib.auth.middleware.AuthenticationMiddleware', | 'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||
| 'django.contrib.messages.middleware.MessageMiddleware', | 'django.contrib.messages.middleware.MessageMiddleware', | ||||
| 'django.middleware.clickjacking.XFrameOptionsMiddleware', | 'django.middleware.clickjacking.XFrameOptionsMiddleware', | ||||
| 'blendercloud.middleware.SessionMiddleware', | |||||
| ] | ] | ||||
| ROOT_URLCONF = 'studio.urls' | ROOT_URLCONF = 'studio.urls' | ||||
| STATIC_URL = '/static/' | STATIC_URL = '/static/' | ||||
| MEDIA_URL = '/media/' | MEDIA_URL = '/media/' | ||||
| STATIC_ROOT = BASE_DIR / 'public/static' | STATIC_ROOT = BASE_DIR / 'public/static' | ||||
| MEDIA_ROOT = BASE_DIR / 'public/media' | MEDIA_ROOT = BASE_DIR / 'public/media' | ||||
| ▲ Show 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | 'JAVASCRIPT': { | ||||
| 'training/scripts/section.js', | 'training/scripts/section.js', | ||||
| 'training/scripts/components/card_training.js', | 'training/scripts/components/card_training.js', | ||||
| 'training/scripts/components/video_player.js', | 'training/scripts/components/video_player.js', | ||||
| ], | ], | ||||
| 'output_filename': 'js/training_search.js', | 'output_filename': 'js/training_search.js', | ||||
| 'extra_context': {'async': False, 'defer': False}, | 'extra_context': {'async': False, 'defer': False}, | ||||
| }, | }, | ||||
| 'search': { | 'search': { | ||||
| 'source_filenames': ['search/scripts/*.js',], | 'source_filenames': ['search/scripts/*.js', ], | ||||
| 'output_filename': 'js/search.js', | 'output_filename': 'js/search.js', | ||||
| 'extra_context': {'async': False, 'defer': False}, | 'extra_context': {'async': False, 'defer': False}, | ||||
| }, | }, | ||||
| 'training_search': { | 'training_search': { | ||||
| 'source_filenames': [ | 'source_filenames': [ | ||||
| 'training/scripts/training_search.js', | 'training/scripts/training_search.js', | ||||
| ], | ], | ||||
| 'output_filename': 'js/training_search.js', | 'output_filename': 'js/training_search.js', | ||||
| ▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | 'handlers': { | ||||
| 'stream': 'ext://sys.stderr', | 'stream': 'ext://sys.stderr', | ||||
| }, | }, | ||||
| }, | }, | ||||
| 'loggers': { | 'loggers': { | ||||
| 'asyncio': {'level': 'WARNING'}, | 'asyncio': {'level': 'WARNING'}, | ||||
| 'django': {'level': 'WARNING'}, | 'django': {'level': 'WARNING'}, | ||||
| 'urllib3': {'level': 'WARNING'}, | 'urllib3': {'level': 'WARNING'}, | ||||
| 'search': {'level': 'DEBUG'}, | 'search': {'level': 'DEBUG'}, | ||||
| 'blendercloud': {'level': 'DEBUG'}, | |||||
| }, | }, | ||||
| 'root': {'level': 'WARNING', 'handlers': ['console']}, | 'root': {'level': 'WARNING', 'handlers': ['console']}, | ||||
| } | } | ||||
| SITE_ID = 1 | SITE_ID = 1 | ||||
| # Required by Django Debug Toolbar | # Required by Django Debug Toolbar | ||||
| INTERNAL_IPS = ['127.0.0.1'] | INTERNAL_IPS = ['127.0.0.1'] | ||||
| ▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | |||||
| # Do not set "public-read" ACL on bucket items | # Do not set "public-read" ACL on bucket items | ||||
| AWS_DEFAULT_ACL = None | AWS_DEFAULT_ACL = None | ||||
| AWS_S3_FILE_OVERWRITE = False | AWS_S3_FILE_OVERWRITE = False | ||||
| AWS_S3_REGION_NAME = 'eu-central-1' | AWS_S3_REGION_NAME = 'eu-central-1' | ||||
| AWS_STORAGE_BUCKET_NAME = 'blender-studio' | AWS_STORAGE_BUCKET_NAME = 'blender-studio' | ||||
| AWS_S3_CUSTOM_DOMAIN = 'ddz4ak4pa3d19.cloudfront.net' | AWS_S3_CUSTOM_DOMAIN = 'ddz4ak4pa3d19.cloudfront.net' | ||||
| THUMBNAIL_STORAGE = PUBLIC_FILE_STORAGE | THUMBNAIL_STORAGE = PUBLIC_FILE_STORAGE | ||||
| BLENDER_CLOUD_SESSION_COOKIE_NAME = 'session' | |||||
| # Caveat emptor: | |||||
| # BLENDER_CLOUD_SESSION_LIFETIME should be **at least as long** as Blender Cloud's session lifetime, | |||||
| # otherwise Blender Studio will consider a session invalid **before** Blender Cloud does, | |||||
| # meaning that people will appear to be logged out on Blender Studio pages, | |||||
| # even if they are logged in in Blender Cloud. | |||||
| # Assumes a default Flask's value for the session lifetime. | |||||
| # See https://flask.palletsprojects.com/en/1.0.x/config/#PERMANENT_SESSION_LIFETIME | |||||
| BLENDER_CLOUD_SESSION_LIFETIME = timedelta(days=31) | |||||
| BLENDER_CLOUD_AUTH_ENABLED = False | |||||