umap/umap/settings/base.py

179 lines
5.5 KiB
Python
Raw Normal View History

2012-12-27 07:59:05 -06:00
# -*- coding:utf-8 -*-
2012-11-20 03:47:19 -06:00
"""Base settings shared by all environments"""
# Import global settings to make it easier to extend settings.
from django.conf.global_settings import * # pylint: disable=W0614,W0401
from django.template.defaultfilters import slugify
2012-11-20 03:47:19 -06:00
#==============================================================================
# Generic Django project settings
#==============================================================================
DEBUG = True
TEMPLATE_DEBUG = DEBUG
SITE_ID = 1
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
TIME_ZONE = 'UTC'
USE_TZ = True
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = 'en'
LANGUAGES = (
('en', 'English'),
2012-12-27 07:59:05 -06:00
('fr', u'Francais'),
2013-12-04 16:19:19 -06:00
('it', u'Italiano'),
('pt', u'Portuguese'),
('nl', u'Dutch'),
('es', u'Español'),
('fi', u'Finnish'),
('de', u'Deutsch'),
2013-12-07 06:22:59 -06:00
('da', u'Danish'),
2013-12-11 13:25:46 -06:00
('ja', u'Japanese'),
2014-02-10 09:54:01 -06:00
('lt', u'Lithuanian'),
('cs-cz', u'Czech'),
2012-11-20 03:47:19 -06:00
)
# Make this unique, and don't share it with anybody.
SECRET_KEY = ''
2012-11-20 03:47:19 -06:00
INSTALLED_APPS = (
'leaflet_storage',
2013-01-02 08:49:20 -06:00
'umap',
2012-12-16 08:10:00 -06:00
'sesql',
2012-12-22 05:42:29 -06:00
'compressor',
'social.apps.django_app.default',
2012-11-20 03:47:19 -06:00
'south',
2012-11-20 03:47:19 -06:00
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.gis'
2012-11-20 03:47:19 -06:00
)
#==============================================================================
# Calculation of directories relative to the project module location
#==============================================================================
import os
import sys
2013-01-02 08:49:20 -06:00
import umap as project_module
2012-11-20 03:47:19 -06:00
PROJECT_DIR = os.path.dirname(os.path.realpath(project_module.__file__))
PYTHON_BIN = os.path.dirname(sys.executable)
ve_path = os.path.dirname(os.path.dirname(os.path.dirname(PROJECT_DIR)))
# Assume that the presence of 'activate_this.py' in the python bin/
# directory means that we're running in a virtual environment.
if os.path.exists(os.path.join(PYTHON_BIN, 'activate_this.py')):
# We're running with a virtualenv python executable.
VAR_ROOT = os.path.join(os.path.dirname(PYTHON_BIN), 'var')
elif ve_path and os.path.exists(os.path.join(ve_path, 'bin',
'activate_this.py')):
# We're running in [virtualenv_root]/src/[project_name].
VAR_ROOT = os.path.join(ve_path, 'var')
else:
# Set the variable root to a path in the project which is
# ignored by the repository.
VAR_ROOT = os.path.join(PROJECT_DIR, 'var')
if not os.path.exists(VAR_ROOT):
os.mkdir(VAR_ROOT)
#==============================================================================
# Project URLS and media settings
#==============================================================================
2013-01-02 08:49:20 -06:00
ROOT_URLCONF = 'umap.urls'
2012-11-20 03:47:19 -06:00
LOGIN_URL = '/login/'
LOGOUT_URL = '/logout/'
LOGIN_REDIRECT_URL = '/'
STATIC_URL = '/static/'
MEDIA_URL = '/uploads/'
STATIC_ROOT = os.path.join(VAR_ROOT, 'static')
MEDIA_ROOT = os.path.join(VAR_ROOT, 'uploads')
STATICFILES_DIRS = (
2012-11-22 13:03:36 -06:00
# Fabric will collect leaflet and draw in this dir
os.path.join(PROJECT_DIR, 'remote_static'),
2012-11-20 03:47:19 -06:00
os.path.join(PROJECT_DIR, 'static'),
)
2012-12-22 05:42:29 -06:00
STATICFILES_FINDERS += (
'compressor.finders.CompressorFinder',
)
2012-11-20 03:47:19 -06:00
#==============================================================================
# Templates
#==============================================================================
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, 'templates'),
)
TEMPLATE_CONTEXT_PROCESSORS += (
2012-12-07 06:40:57 -06:00
'django.core.context_processors.request',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
2012-11-20 03:47:19 -06:00
)
#==============================================================================
# Middleware
#==============================================================================
MIDDLEWARE_CLASSES += (
2012-12-27 07:59:05 -06:00
'django.middleware.locale.LocaleMiddleware',
2013-12-23 10:47:29 -06:00
'django.middleware.http.ConditionalGetMiddleware',
2012-11-20 03:47:19 -06:00
)
#==============================================================================
# Auth / security
#==============================================================================
AUTHENTICATION_BACKENDS += (
)
#==============================================================================
# Miscellaneous project settings
#==============================================================================
LEAFLET_STORAGE_ALLOW_ANONYMOUS = False
2014-01-09 08:20:57 -06:00
LEAFLET_STORAGE_EXTRA_URLS = {
2014-01-09 08:59:19 -06:00
'routing': 'http://map.project-osrm.org/?loc={lat},{lng}&hl={locale}'
2014-01-09 08:20:57 -06:00
}
SITE_URL = "http://umap.org"
UMAP_DEMO_SITE = False
2013-06-16 11:08:08 -05:00
MAP_SHORT_URL_NAME = "umap_short_url"
2012-11-20 03:47:19 -06:00
#==============================================================================
# Third party app settings
#==============================================================================
2012-12-22 05:42:29 -06:00
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
SOCIAL_AUTH_DEFAULT_USERNAME = lambda u: slugify(u)
SOCIAL_AUTH_ASSOCIATE_BY_EMAIL = True
LOGIN_URL = "login"
SOCIAL_AUTH_LOGIN_REDIRECT_URL = "/login/popup/end/"
SOCIAL_AUTH_PIPELINE = (
'social.pipeline.social_auth.social_details',
'social.pipeline.social_auth.social_uid',
'social.pipeline.social_auth.auth_allowed',
'social.pipeline.social_auth.social_user',
'social.pipeline.social_auth.associate_by_email',
'social.pipeline.user.get_username',
'social.pipeline.user.create_user',
'social.pipeline.social_auth.associate_user',
'social.pipeline.social_auth.load_extra_data',
'social.pipeline.user.user_details'
)