diff options
Diffstat (limited to 'settings.py')
| -rw-r--r-- | settings.py | 381 | 
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'], +    } | 
