summaryrefslogtreecommitdiff
path: root/settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'settings.py')
-rw-r--r--settings.py210
1 files changed, 155 insertions, 55 deletions
diff --git a/settings.py b/settings.py
index ea87c2cd..071735cf 100644
--- a/settings.py
+++ b/settings.py
@@ -1,21 +1,30 @@
import os
-# Django settings for archweb project.
-
-## Import local settings
-from local_settings import *
+# Django settings for parabolaweb project.
## Set the debug values
+DEBUG = False
TEMPLATE_DEBUG = DEBUG
+DEBUG_TOOLBAR = False
+
+## Notification admins
+ADMINS = ()
# Set managers to admins
MANAGERS = ADMINS
+# Package out-of-date emails for orphans
+NOTIFICATIONS = ['dev@lists.parabola.nu']
+
# Full path to the data directory
DEPLOY_PATH = os.path.dirname(os.path.realpath(__file__))
-# Local time zone for this installation. All choices can be found here:
-# http://www.postgresql.org/docs/current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
-TIME_ZONE = 'US/Eastern'
+# 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
@@ -25,84 +34,79 @@ DEFAULT_CHARSET = 'utf-8'
SITE_ID = 1
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = False
-
-# If you set this to False, Django will not format dates, numbers and
-# calendars according to the current locale
-USE_L10N = False
-
# Default date format in templates for 'date' filter
DATE_FORMAT = 'Y-m-d'
+DATETIME_FORMAT = 'Y-m-d H:i'
-# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
-# trailing slash.
-# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/media/admin_media/'
-
-# login url
+# Login URL configuration
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'
-# List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.load_template_source',
- 'django.template.loaders.eggs.load_template_source',
- 'django.template.loaders.app_directories.load_template_source',
-)
+# Set django's User stuff to use our profile model
+AUTH_PROFILE_MODULE = 'devel.UserProfile'
# We add a processor to determine if the request is secure or not
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.contrib.messages.context_processors.messages',
'main.context_processors.secure',
+ 'main.context_processors.branding',
+)
+
+TEMPLATE_DIRS = (
+ # Put strings here, like "/home/html/django_templates".
+ # Always use forward slashes, even on Windows.
+ '%s/templates' % DEPLOY_PATH,
+)
+
+TEMPLATE_LOADERS = (
+ 'django_jinja.loaders.FileSystemLoader',
+ 'django_jinja.loaders.AppLoader',
)
-# This bug is a real bummer:
-# http://code.djangoproject.com/ticket/14105
+# Send templates matching the following to the Jinja2 engine
+DEFAULT_JINJA2_TEMPLATE_EXTENSION = '.jinja'
+
MIDDLEWARE_CLASSES = (
- 'main.middleware.UpdateCacheMiddleware',
'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',
- 'django.middleware.doc.XViewMiddleware',
- 'django.middleware.cache.FetchFromCacheMiddleware',
)
+# Base of the URL hierarchy
ROOT_URLCONF = 'urls'
-TEMPLATE_DIRS = (
- # Put strings here, like "/home/html/django_templates".
- # Always use forward slashes, even on Windows.
- '%s/templates' % DEPLOY_PATH,
-)
+# URL to serve static files
+STATIC_URL = '/static/'
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.Loader',
- 'django.template.loaders.eggs.Loader',
- 'django.template.loaders.app_directories.Loader',
-)
+# Location to collect static files
+STATIC_ROOT = os.path.join(DEPLOY_PATH, 'collected_static')
-# Enable caching templates in production environments
-if not TEMPLATE_DEBUG:
- TEMPLATE_LOADERS = (
- ('django.template.loaders.cached.Loader', TEMPLATE_LOADERS),
- )
+# Look for more static files in these locations
+STATICFILES_DIRS = (
+ os.path.join(DEPLOY_PATH, 'sitestatic'),
+)
-# Set django's User stuff to use our profile model
-# format is app.model
-AUTH_PROFILE_MODULE = 'main.UserProfile'
+# 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',
@@ -112,15 +116,111 @@ INSTALLED_APPS = (
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.admin',
- 'django.contrib.markup',
- 'main', # contains shared models and libs
+ 'django.contrib.staticfiles',
+ 'django_countries',
+ 'django_jinja',
+
+ 'main',
'mirrors',
'news',
'packages',
'todolists',
'devel',
'public',
- 'south', # database migration support
+ '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 to fetch a current list of available ISOs
+ISO_LIST_URL = 'https://repo.parabola.nu/iso/'
+
+# URL to the PXE netboot instructions
+PXEBOOT_URL = 'https://repo.parabola.nu/pxeboot/'
+
+# 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/'
+
+# URL for linking to mailing lists
+MAILMAN_BASE_URL = 'https://lists.parabola.nu/'
+
+# URL for linking to the bugtracker
+BUGTRACKER_URL = 'https://labs.parabola.nu/'
+
+# URL for linking to the release engineering/iso project on the bugtracker
+BUGTRACKER_RELENG_URL = 'https://labs.parabola.nu/projects/isos'
+
+# URL for linking to projects in git
+PROJECTS_URL = 'https://projects.parabola.nu'
+
+# Trackers used for ISO download magnet links
+TORRENT_TRACKERS = (
+ 'udp://tracker.publicbt.com:80',
+ 'udp://tracker.openbittorrent.com:80',
+ 'udp://tracker.istole.it:80',
+)
+
+DOMAIN_RE = r'^(.+\.)?parabola(\.nu|gnulinux\.org)$'
+
+BRANDING_APPNAME = 'parabolaweb'
+BRANDING_DISTRONAME = 'Parabola GNU/Linux-libre'
+BRANDING_SHORTNAME = 'Parabola'
+BRANDING_SLUG = 'parabola'
+BRANDING_WIKINAME = 'ParabolaWiki'
+BRANDING_EMAIL = 'Parabola Website Notification <nobody@parabola.nu>'
+BRANDING_OSEARCH_TAGS = 'gnu linuxlibre parabola package software'
+
+# Shorten some names just a bit
+COUNTRIES_OVERRIDE = {
+ 'GB': 'United Kingdom',
+ 'US': 'United States',
+}
+
+## Import local settings
+from local_settings import *
+
+# Enable caching templates in production environments
+if not TEMPLATE_DEBUG:
+ TEMPLATE_LOADERS = (
+ ('django.template.loaders.cached.Loader', TEMPLATE_LOADERS),
+ )
+ JINJA2_BYTECODE_CACHE_ENABLE = True
+
+# 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: