Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 64b3cd56e9
Fetching contributors…

Cannot retrieve contributors at this time

file 206 lines (167 sloc) 7.166 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
# __BEGIN_LICENSE__
# Copyright (C) 2008-2010 United States Government as represented by
# the Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
# __END_LICENSE__

# siteSettings.py -- site default settings
#
# This contains the default settings for the site-level django app. This will
# override any application-default settings and define the default set of
# installed applications. This should be a full settings.py file which needs
# minimal overrides by the settings.py file for the application to actually
# function.
#
# As a bare minimum, please edit INSTALLED_APPS!
#
# This file *should* be checked into git.

from django.conf import global_settings

DEBUG = True
TEMPLATE_DEBUG = DEBUG
import os
import sys
#APP = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
#PROJ_ROOT = os.path.abspath(os.path.dirname(__file__))
PROJ_ROOT = os.path.abspath(os.path.dirname(__file__))

SCRIPT_NAME = os.environ['DJANGO_SCRIPT_NAME'] # set in sourceme.sh
USING_DJANGO_DEV_SERVER = ('runserver' in sys.argv)
if USING_DJANGO_DEV_SERVER:
    # django dev server deployment won't work with other SCRIPT_NAME settings
    SCRIPT_NAME = '/'

USE_STATIC_SERVE = USING_DJANGO_DEV_SERVER

# Python path is agnostic to what the site-level dir is. It also prefers the
# checked-out version of an app over the standard python install locations.
sys.path.append(PROJ_ROOT)

ADMINS = (
    # ('mfsmith3', 'your_email@domain.com'),
)
MANAGERS = ADMINS

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Los_Angeles'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

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

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(PROJ_ROOT, "data", "")

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = SCRIPT_NAME + "data/"

# Absolute path to the directory that holds data. This is different than media
# in that it's uploaded/processed data that's not needed for the operation of
# the site, but may need to be network-accessible, or be linked to from the
# database. Examples: images, generate kml files, etc.
# Example: "/data/"
DATA_ROOT = os.path.join(PROJ_ROOT, "data", "")

DATA_DIR = DATA_ROOT # some legacy modules use the DATA_DIR name

# URL that handles the data served from DATA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://data.lawrence.com", "http://example.com/data/"
DATA_URL = SCRIPT_NAME + "data/"

STATIC_ROOT = os.path.join(PROJ_ROOT, "build", "static", "")
STATIC_URL = SCRIPT_NAME + 'static/'

# Awesome. Needed in Django 1.3 but causes deprecation warning in Django 1.4.
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

# List of callables that know how to import templates from various sources.
#TEMPLATE_LOADERS = global_settings.TEMPLATE_LOADERS + (
#)

MIDDLEWARE_CLASSES = (
    'geocamUtil.middleware.LogErrorsMiddleware',
) + global_settings.MIDDLEWARE_CLASSES + (
    'django.middleware.gzip.GZipMiddleware',
    'geocamUtil.middleware.SecurityMiddleware',
)

ROOT_URLCONF = 'urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

# Note: the order of INSTALLED_APPS affects the search order for
# templates. We suggest putting your apps above standard apps
# so your apps can override templates as needed.
INSTALLED_APPS = (
    'mapFastenApp',
    'geocamTiePoint',

    'geocamUtil',

    'django_digest',

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
)

GEOCAM_UTIL_SECURITY_ENABLED = False # not USING_DJANGO_DEV_SERVER
GEOCAM_UTIL_SECURITY_SSL_REQUIRED_BY_DEFAULT = False
GEOCAM_UTIL_SECURITY_REQUIRE_ENCRYPTED_PASSWORDS = False
GEOCAM_UTIL_SECURITY_LOGIN_REQUIRED_BY_DEFAULT = 'write'
GEOCAM_UTIL_SECURITY_ACCEPT_AUTH_TYPES = ('basic',)

# note: LOGIN_URL and LOGOUT_URL will not be respected on app engine when using
# google's integrated auth system. LOGIN_REDIRECT_URL is respected.
LOGIN_URL = SCRIPT_NAME + 'accounts/login/'
LOGOUT_URL = SCRIPT_NAME + 'accounts/logout/'
LOGIN_REDIRECT_URL = SCRIPT_NAME

SITE_TITLE = 'MapFasten'

GEOCAM_UTIL_INSTALLER_USE_SYMLINKS = True

USING_APP_ENGINE_DEV_SERVER = (os.getenv('SERVER_SOFTWARE', '').startswith('Development/')
                               or os.getenv('SETTINGS_MODE') == 'devappengine')
USING_APP_ENGINE_REAL = (os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine')
                         or os.getenv('SETTINGS_MODE') == 'appengine')
USING_APP_ENGINE = USING_APP_ENGINE_DEV_SERVER or USING_APP_ENGINE_REAL

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS

if USING_APP_ENGINE:
    # sqlite doesn't work in real app engine environment, use google cloud sql
    DATABASES = {
        'default': {
            'ENGINE': 'google.appengine.ext.django.backends.rdbms',
            'INSTANCE': 'mapfasten1:mapfasten', # the cloud sql "instance name"
            'NAME': 'make your own dev sandbox and overwrite this value in settings.py',
        }
    }
else:
    # use local sqlite database
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(PROJ_ROOT, 'dev.db')
        }
    }

if USING_APP_ENGINE_REAL:
    DATABASES['default']['NAME'] = 'mapfasten'

if USING_APP_ENGINE:
    DEFAULT_FILE_STORAGE = 'geocamAppEngine.storage.BlobStorage'
    MIDDLEWARE_CLASSES += (
        'geocamAppEngine.middleware.AuthenticationMiddleware',
        'mapFastenApp.middleware.ClosedBetaMiddleware',
    )
    TEMPLATE_CONTEXT_PROCESSORS += (
        'geocamAppEngine.context_processors.AuthUrlsContextProcessor',
    )

else:
    TEMPLATE_CONTEXT_PROCESSORS += (
        'geocamUtil.context_processors.AuthUrlsContextProcessor.AuthUrlsContextProcessor',
    )

# easy zero-install caching setup, fine with django dev server
SIMPLE_CACHE_ = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'TIMEOUT': 0
    }
}

# real caching setup, works better in multi-process environment
MEMCACHED_CACHE_ = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'TIMEOUT': 0
    }
}

CACHES = SIMPLE_CACHE_
Something went wrong with that request. Please try again.