summaryrefslogtreecommitdiff
path: root/settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'settings.py')
-rw-r--r--settings.py381
1 files changed, 381 insertions, 0 deletions
diff --git a/settings.py b/settings.py
new file mode 100644
index 0000000..39e7ceb
--- /dev/null
+++ b/settings.py
@@ -0,0 +1,381 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Don't edit this file:
+# overload all theses settings in your local_settings.py file
+
+import os
+_ = lambda s: s
+
+DEBUG = False
+TEMPLATE_DEBUG = DEBUG
+MOBILE_TEST = False
+DEBUG_TOOLBAR = False
+SQL_DEBUG = False
+
+
+# Django settings for chimere project.
+PROJECT_NAME = 'Chimere'
+ROOT_PATH = os.path.realpath(os.path.dirname(__file__)) + "/"
+
+EMAIL_HOST = 'localhost'
+CONTACT_EMAIL = ''
+STATIC_URL = '/static/'
+STATIC_ROOT = ROOT_PATH + 'static/'
+
+TINYMCE_URL = ''
+JQUERY_JS_URLS = ('/javascript/jquery/jquery.js',
+ '/javascript/jquery-ui/jquery-ui.js',)
+JQUERY_CSS_URLS = ('/javascript/jquery-ui/css/smoothness/jquery-ui.css',
+ '/javascript/jquery-ui/themes/base/jquery.ui.all.css')
+
+GPSBABEL = '/usr/bin/gpsbabel'
+# simplify with an error of 5 meters
+GPSBABEL_OPTIONS = 'simplify,crosstrack,error=0.005k'
+# GPSBABEL_OPTIONS = 'simplify,count=100'
+
+# # chimere specific ##
+CHIMERE_DEFAULT_ZOOM = 10
+# center of the map
+CHIMERE_DEFAULT_CENTER = (-1.679444, 48.114722)
+# projection used by the main map
+# most public map providers use spherical mercator : 900913
+CHIMERE_EPSG_PROJECTION = 900913
+# projection displayed to the end user by openlayers
+# chimere use the same projection to save its data in the database
+CHIMERE_EPSG_DISPLAY_PROJECTION = 4326
+# display of shortcuts for areas
+CHIMERE_DISPLAY_AREAS = True
+# number of day before an event to display
+# if equal to 0: disable event management
+# if you change this value from 0 to a value in a production environnement
+# don't forget to run the upgrade.py script to create appropriate fields in
+# the database
+CHIMERE_DAYS_BEFORE_EVENT = 30
+# Dated events must usualy be checked as 'front page' to be displayed
+# on front page - set CHIMERE_ALL_DATED_ARE_FRONT to True if you want to
+# display all events on front page
+CHIMERE_ALL_DATED_ARE_FRONT = True
+# allow feeds
+CHIMERE_FEEDS = True
+# display a directory of items
+CHIMERE_DIRECTORY = True
+
+# content inside the popup or on a specific window
+CHIMERE_CONTENT_INSIDE_POPUP = False
+
+# display picture inside the description by default or inside a galery?
+CHIMERE_MINIATURE_BY_DEFAULT = False
+
+# JS definition of the default map (for admin and when no map are defined in
+# the application)
+# cf. OpenLayers documentation for more details
+
+# OSM mapnik map
+CHIMERE_DEFAULT_MAP_LAYER = """new ol.layer.Tile({
+ style: 'Road',
+ source: new ol.source.OSM()
+})"""
+
+CHIMERE_XAPI_URL = 'http://open.mapquestapi.com/xapi/api/0.6/'
+CHIMERE_OSM_API_URL = 'api06.dev.openstreetmap.org' # test URL
+CHIMERE_OSM_USER = 'test'
+CHIMERE_OSM_PASSWORD = 'test'
+
+# encoding for shapefile import
+CHIMERE_SHAPEFILE_ENCODING = 'ISO-8859-1'
+
+# as the web server need to be reloaded when property models are changed
+# it could be a good idea to hide it to an admin who could'nt do that
+CHIMERE_HIDE_PROPERTYMODEL = False
+
+# clustering of markers
+CHIMERE_ENABLE_CLUSTERING = False
+
+# enable routing in Chimere
+CHIMERE_ENABLE_ROUTING = False
+
+CHIMERE_ROUTING_TRANSPORT = (('foot', _(u"Foot")),
+ ('bicycle', _(u"Bicycle")),
+ ('motorcar', _(u"Motorcar")),
+ )
+
+CHIMERE_ROUTING_SPEEDS = {
+ 'foot': ((3, _(u"You are walking slowly")),
+ (6, _(u"You are walking pretty quickly")),),
+ 'bicycle': ((16, _(u"You are riding pretty slowly")),
+ (22, _(u"You are riding pretty quickly")),)
+}
+
+# available routing engine: 'routino'
+CHIMERE_ROUTING_ENGINE = {
+ 'ENGINE': 'routino',
+ 'PATH': '/usr/local/src/web/bin/router',
+ 'DB_PATH': '/var/local/routino/',
+}
+
+CHIMERE_ROUTING_FAIL_MESSAGE = u"""<h3 class='warn'>Attention</h3>
+<p>Le moteur de routage a echoue dans sa recherche de trajet. Les points de
+depart ou d'arrivee sont peut-etre trop loin d'une voie existante ou le trajet
+est trop dangereux.</p>"""
+
+NOMINATIM_URL = 'http://nominatim.openstreetmap.org/search'
+
+# Fields used to geolocate with nominatim
+# (http://wiki.openstreetmap.org/wiki/Nominatim#Search)
+# from external sources. Key must be a valid parameters for Nominatim. If given
+# value are property slugs use the corresponding value otherwise use it as a
+# fixed value
+# e.g : {'street':'address', 'city':'city', 'country':u'France'}
+
+CHIMERE_NOMINATIM_FIELDS = {'street': 'address', 'city': 'city',
+ 'country': u'France'}
+MOBILE_TEST = False
+MOBILE_DOMAINS = []
+
+# thumbnail
+CHIMERE_THUMBS_SCALE_HEIGHT = 250
+CHIMERE_THUMBS_SCALE_WIDTH = None
+
+# search engine
+CHIMERE_SEARCH_ENGINE = False
+HAYSTACK_CONNECTIONS = {
+ 'default': {
+ 'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
+ 'URL': 'http://127.0.0.1:8080/solr',
+ 'INCLUDE_SPELLING': True,
+ },
+}
+HAYSTACK_SEARCH_RESULTS_PER_PAGE = 12
+HAYSTACK_AUTOCOMPLETE = False
+
+# length of short description
+CHIMERE_SHORT_DESC_LENGTH = 400
+
+CHIMERE_MODIF_EMAIL = _(u"Hello, I would like to propose you a modification "
+ u"about this item: ")
+
+CHIMERE_ROUTING_WARN_MESSAGE = "<h3 class='warn'>Attention</h3>"\
+ "<p>Cet itinéraire comporte des passages dangereux, nous vous conseillons"\
+ " de modifier votre recherche, en ajoutant par exemple un ou des points "\
+ "d'étape à votre parcours pour éviter les zones de danger.</p>"
+
+CHIMERE_CSV_ENCODING = 'ISO-8859-1'
+
+CHIMERE_DEFAULT_ACTIONS = ['view', 'contribute']
+CHIMERE_DEFAULT_ACTION_LABEL = [u"Cartes", u"Ajouter un element"]
+# generic contact email
+CONTACT_EMAIL = ''
+
+ADMINS = (
+ # ('Your Name', 'your_email@domain.com'),
+)
+
+MANAGERS = ADMINS
+
+DATABASES = {
+ 'default': {
+ 'NAME': 'chimere',
+ 'ENGINE': 'django.contrib.gis.db.backends.postgis',
+ 'HOST': 'postgres',
+ 'PORT': '5432',
+ 'USER': 'chimere',
+ 'PASSWORD': 'chimere',
+ },
+}
+
+
+# Local time zone for this installation. Choices can be found here:
+# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html
+# #DATETIME-TIMEZONE-SET-TABLE
+# although not all variations may be possible on all operating systems.
+# If running in a Windows environment this must be set to the same as your
+# system time zone.
+TIME_ZONE = 'Europe/Paris'
+
+# Language code for this installation. All choices can be found here:
+# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
+# http://blogs.law.harvard.edu/tech/stories/storyReader$15
+LANGUAGE_CODE = 'fr-FR'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+USE_L10N = True
+
+# Absolute path to the directory that holds media.
+# Example: "/home/media/media.lawrence.com/"
+MEDIA_ROOT = ROOT_PATH + 'media/'
+
+# URL that handles the media served from MEDIA_ROOT.
+# Example: "http://media.lawrence.com"
+MEDIA_URL = '/media/'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+ 'django.template.loaders.filesystem.Loader',
+ 'django.template.loaders.app_directories.Loader',
+)
+
+MIDDLEWARE_CLASSES = [
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.admindocs.middleware.XViewMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware'
+]
+
+TEMPLATE_DIRS = [
+ ROOT_PATH + 'templates',
+]
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ "django.contrib.auth.context_processors.auth",
+ "django.core.context_processors.debug",
+ "django.core.context_processors.i18n",
+ "django.core.context_processors.media",
+ "django.core.context_processors.static",
+ "django.contrib.messages.context_processors.messages",
+ "django.core.context_processors.request",
+)
+
+INSTALLED_APPS = [
+ 'django.contrib.auth',
+ 'django.contrib.admin',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.sites',
+ 'django.contrib.gis',
+ 'django.contrib.staticfiles',
+]
+
+# celery
+try:
+ import djcelery
+ djcelery.setup_loader()
+ BROKER_URL = 'django://'
+ INSTALLED_APPS += ['kombu.transport.django',
+ 'djcelery']
+except ImportError:
+ # some import and export will not be available
+ pass
+
+INSTALLED_APPS += [
+ 'chimere',
+]
+
+LOG_PATH = '/var/log/django/'
+MOBILE_DOMAINS = [] # if you have specific domains for mobile access
+
+PROJECT_APP = 'chimere_example_project'
+
+LOGFILE_NAME = ""
+try:
+ from local_settings import *
+except ImportError as e:
+ print('Unable to load local_settings.py:', e)
+
+
+ROOT_URLCONF = PROJECT_APP + '.urls'
+
+INSTALLED_APPS.insert(INSTALLED_APPS.index('chimere'), PROJECT_APP)
+
+if CHIMERE_SEARCH_ENGINE:
+ INSTALLED_APPS.append('haystack')
+
+if 'LOGGING' not in globals():
+ global LOGGING
+ LOGGING = {
+ 'version': 1,
+ 'disable_existing_loggers': False,
+ 'handlers': {
+ # Include the default Django email handler for errors
+ # This is what you'd get without configuring logging at all.
+ 'mail_admins': {
+ 'class': 'django.utils.log.AdminEmailHandler',
+ 'level': 'ERROR',
+ # But the emails are plain text by default - HTML is nicer
+ 'include_html': True,
+ },
+ # Log to a text file that can be rotated by logrotate
+ 'logfile': {
+ 'class': 'logging.handlers.WatchedFileHandler',
+ 'filename': LOG_PATH + 'chimere.log'
+ },
+ },
+ 'loggers': {
+ # Again, default Django configuration to email unhandled exceptions
+ 'django.request': {
+ 'handlers': ['mail_admins'],
+ 'level': 'ERROR',
+ 'propagate': True,
+ },
+ # Might as well log any errors anywhere else in Django
+ 'django': {
+ 'handlers': ['logfile'],
+ 'level': 'ERROR',
+ 'propagate': False,
+ },
+ # Your own app
+ # this assumes all your logger names start with "myapp."
+ 'chimere': {
+ 'handlers': ['logfile'],
+ 'level': 'WARNING', # Or maybe INFO or DEBUG
+ 'propogate': False
+ },
+ },
+ }
+
+if LOGFILE_NAME:
+ LOGGING['handlers']['logfile']['filename'] = LOGFILE_NAME
+
+if 'CHIMERE_SHARE_NETWORKS' not in globals():
+ # after the locals to get the right STATIC_URL
+
+ # share with
+ global CHIMERE_SHARE_NETWORKS
+ CHIMERE_SHARE_NETWORKS = (
+ ("Email", 'mailto:?subject=%(text)s&body=%(url)s',
+ STATIC_URL + 'chimere/img/email.png'),
+ ("Facebook", 'http://www.facebook.com/sharer.php?t=%(text)s&u=%(url)s',
+ STATIC_URL + 'chimere/img/facebook.png'),
+ ("Twitter", 'http://twitter.com/home?status=%(text)s %(url)s',
+ STATIC_URL + 'chimere/img/twitter.png'),
+ )
+
+if 'OSM_MOBILE_JS_URLS' not in globals():
+ global OSM_MOBILE_URLS
+ OSM_JS_MOBILE_URLS = [
+ STATIC_URL + "openlayers/OpenLayers.mobile.js",
+ STATIC_URL + "openlayers/SimplePanZoom.js",
+ "http://www.openstreetmap.org/openlayers/OpenStreetMap.js"]
+
+if DEBUG_TOOLBAR:
+ global DEBUG_TOOLBAR_PANELS
+ global DEBUG_TOOLBAR_CONFIG
+ MIDDLEWARE_CLASSES += ['debug_toolbar.middleware.DebugToolbarMiddleware']
+ INSTALLED_APPS += ['debug_toolbar']
+ DEBUG_TOOLBAR_PANELS = [
+ 'debug_toolbar.panels.versions.VersionsPanel',
+ 'debug_toolbar.panels.timer.TimerPanel',
+ 'debug_toolbar.panels.settings.SettingsPanel',
+ 'debug_toolbar.panels.headers.HeadersPanel',
+ 'debug_toolbar.panels.request.RequestPanel',
+ 'debug_toolbar.panels.sql.SQLPanel',
+ 'debug_toolbar.panels.staticfiles.StaticFilesPanel',
+ 'debug_toolbar.panels.templates.TemplatesPanel',
+ 'debug_toolbar.panels.cache.CachePanel',
+ 'debug_toolbar.panels.signals.SignalsPanel',
+ 'debug_toolbar.panels.logging.LoggingPanel',
+ 'debug_toolbar.panels.redirects.RedirectsPanel',
+ ]
+ DEBUG_TOOLBAR_CONFIG = {'INTERCEPT_REDIRECTS': False}
+
+
+if SQL_DEBUG:
+ LOGGING['loggers']['django.db.backends'] = {
+ 'level': 'DEBUG',
+ 'handlers': ['console'],
+ }