evorepo/settings.py
jelle van der Waa f3e26eb15a Misc fixes (#84)
* Update coveragerc to exclude newly located tests

There are now tests under main/tests/* etc, which should be omitted for
coverage.

* omit settings from coverage

settings and local_settings aren't interesting for coverage, omit them.

* remove leftover secure context processor

The secure context processor was used to determine if the cdn served
assets should be loaded over https or http. Since assets are no longer
served with a cdn and the whole site is loaded over https these days,
this code is dead and can be removed.

* packages: Add test for flagging packages out of date

Add simple test cases for flagging packages out of date, should later be
improved to query the Package model for packages and use that data
instead of hardcoding.
2018-02-18 04:33:52 -05:00

197 lines
5.0 KiB
Python

# Django settings for archweb project.
from os import path
# Set the debug values
DEBUG = False
DEBUG_TOOLBAR = False
# Notification admins
ADMINS = ()
# Set managers to admins
MANAGERS = ADMINS
# Package out-of-date emails for orphans
NOTIFICATIONS = ['arch-notifications@archlinux.org']
# Full path to the data directory
DEPLOY_PATH = path.dirname(path.realpath(__file__))
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
# 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.
TIME_ZONE = 'UTC'
# 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 = 'en-us'
DEFAULT_CHARSET = 'utf-8'
SITE_ID = 1
# Default date format in templates for 'date' filter
DATE_FORMAT = 'Y-m-d'
DATETIME_FORMAT = 'Y-m-d H:i'
# Login URL configuration
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'
# Set django's User stuff to use our profile model
AUTH_PROFILE_MODULE = 'devel.UserProfile'
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.http.ConditionalGetMiddleware',
)
# Base of the URL hierarchy
ROOT_URLCONF = 'urls'
# URL to serve static files
STATIC_URL = '/static/'
# Location to collect static files
STATIC_ROOT = path.join(DEPLOY_PATH, 'collected_static')
# Look for more static files in these locations
STATICFILES_DIRS = (
path.join(DEPLOY_PATH, 'sitestatic'),
)
# Static files backend that allows us to use far future Expires headers
STATICFILES_STORAGE = 'main.storage.MinifiedStaticFilesStorage'
# Configure where messages should reside
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
# Session configuration
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
SESSION_COOKIE_HTTPONLY = True
# Clickjacking protection
X_FRAME_OPTIONS = 'DENY'
# Use new test runner
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.admin',
'django.contrib.staticfiles',
'django_countries',
'main',
'mirrors',
'news',
'packages',
'todolists',
'devel',
'public',
'releng',
'visualize',
'retro',
)
# Logging configuration for not getting overspammed
LOGGING = {
'version': 1,
'filters': {
'ratelimit': {
'()': 'main.log.RateLimitFilter',
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['ratelimit'],
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
}
},
}
# Server used for linking to PGP keysearch results
PGP_SERVER = 'pgp.mit.edu'
PGP_SERVER_SECURE = True
# URL for SVN access for fetching commit messages (note absence of packages or
# community bit on the end, repo.svn_root is appended)
SVN_BASE_URL = 'svn://svn.archlinux.org/'
# Trackers used for ISO download magnet links
TORRENT_TRACKERS = (
'udp://tracker.archlinux.org:6969',
'http://tracker.archlinux.org:6969/announce',
)
# Shorten some names just a bit
COUNTRIES_OVERRIDE = {
'GB': 'United Kingdom',
'US': 'United States',
}
# Make this unique, and don't share it with anybody.
SECRET_KEY = '00000000000000000000000000000000000000000000000'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.db',
},
}
# Import local settings
try:
from local_settings import *
except ImportError:
pass
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
path.join(DEPLOY_PATH, 'templates')
],
'APP_DIRS': True,
'OPTIONS': {
'debug': DEBUG,
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.contrib.messages.context_processors.messages',
],
}
}
]
# Enable the debug toolbar if requested
if DEBUG_TOOLBAR:
MIDDLEWARE_CLASSES = \
['debug_toolbar.middleware.DebugToolbarMiddleware'] + \
list(MIDDLEWARE_CLASSES)
INSTALLED_APPS = list(INSTALLED_APPS) + ['debug_toolbar']
# vim: set ts=4 sw=4 et: