105 lines
3.0 KiB
Python
105 lines
3.0 KiB
Python
import os
|
|
import sys
|
|
import dj_database_url
|
|
import toml
|
|
from .base import *
|
|
|
|
|
|
this_module = sys.modules[__name__]
|
|
|
|
# Read configfile
|
|
with open(os.environ['APP_CONFIGFILE']) as conffile:
|
|
config = toml.loads(conffile.read())
|
|
|
|
# Installed Apps
|
|
INSTALLED_APPS += tuple(config['global']['installed_apps'])
|
|
|
|
# Middleware classes
|
|
if 'middleware_classes' in config['global']:
|
|
if 'prepend' in config['global']['middleware_classes']:
|
|
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + tuple(
|
|
config['global']['middleware_classes']['prepend']
|
|
)
|
|
if 'append' in config['glboal']['middleware_classes']:
|
|
MIDDLEWARE_CLASSES += tuple(
|
|
config['global']['middleware_classes']['append']
|
|
)
|
|
|
|
# Database
|
|
DATABASES = {
|
|
'default': dj_database_url.parse(config['global']['database_url'])
|
|
}
|
|
|
|
# Overwrite values
|
|
for key, value in config['overwrite'].iteritems():
|
|
setattr(this_module, key.upper(), value)
|
|
|
|
# Filer
|
|
FILER_STORAGES = {
|
|
'public': {
|
|
'main': {
|
|
'ENGINE': 'django.core.files.storage.FileSystemStorage',
|
|
'OPTIONS': {
|
|
'location': os.path.abspath(
|
|
os.path.join(MEDIA_ROOT, 'filer/public/')),
|
|
'base_url': '{}files/'.format(config['filer']['base_url']),
|
|
},
|
|
'UPLOAD_TO': 'shelfzilla.utils.filer_generate_randomized',
|
|
'UPLOAD_TO_PREFIX': '',
|
|
},
|
|
'thumbnails': {
|
|
'ENGINE': 'django.core.files.storage.FileSystemStorage',
|
|
'OPTIONS': {
|
|
'location': os.path.abspath(
|
|
os.path.join(MEDIA_ROOT, 'filer/public/')),
|
|
'base_url': '{}files/'.format(config['filer']['base_url']),
|
|
},
|
|
'THUMBNAIL_OPTIONS': {
|
|
'base_dir': 'thumbnails',
|
|
},
|
|
'UPLOAD_TO_PREFIX': '',
|
|
},
|
|
},
|
|
'private': {
|
|
'main': {
|
|
'ENGINE': 'filer.storage.PrivateFileSystemStorage',
|
|
'OPTIONS': {
|
|
'location': os.path.abspath(
|
|
os.path.join(MEDIA_ROOT, 'filer/private')),
|
|
'base_url': '/smedia/private/',
|
|
},
|
|
'UPLOAD_TO': 'shelfzilla.utils.filer_generate_randomized',
|
|
'UPLOAD_TO_PREFIX': '',
|
|
},
|
|
'thumbnails': {
|
|
'ENGINE': 'filer.storage.PrivateFileSystemStorage',
|
|
'OPTIONS': {
|
|
'location': os.path.abspath(
|
|
os.path.join(MEDIA_ROOT, 'filer/private_thumbnails')),
|
|
'base_url': '/smedia/private_thumbnails/',
|
|
},
|
|
'THUMBNAIL_OPTIONS': {},
|
|
},
|
|
},
|
|
}
|
|
|
|
# Logging
|
|
LOGGING = {
|
|
'version': 1,
|
|
'disable_existing_loggers': False,
|
|
'handlers': {
|
|
'file': {
|
|
'level': 'DEBUG',
|
|
'class': 'logging.FileHandler',
|
|
'filename': config['log']['logfile'],
|
|
},
|
|
},
|
|
'loggers': {
|
|
'django.request': {
|
|
'handlers': ['file'],
|
|
'level': 'DEBUG',
|
|
'propagate': True,
|
|
},
|
|
},
|
|
}
|