summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapps/manage.py2
-rw-r--r--apps/patchwork/settings/__init__.py0
-rw-r--r--apps/patchwork/settings/base.py (renamed from apps/settings.py)60
-rw-r--r--apps/patchwork/settings/dev.py52
-rw-r--r--apps/patchwork/settings/prod.py62
5 files changed, 123 insertions, 53 deletions
diff --git a/apps/manage.py b/apps/manage.py
index f9726f9..04eac77 100755
--- a/apps/manage.py
+++ b/apps/manage.py
@@ -3,7 +3,7 @@ import os
import sys
if __name__ == "__main__":
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "patchwork.settings.prod")
from django.core.management import execute_from_command_line
diff --git a/apps/patchwork/settings/__init__.py b/apps/patchwork/settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/apps/patchwork/settings/__init__.py
diff --git a/apps/settings.py b/apps/patchwork/settings/base.py
index 01add3e..5440de6 100644
--- a/apps/settings.py
+++ b/apps/patchwork/settings/base.py
@@ -1,10 +1,13 @@
-# Django settings for patchwork project.
+"""
+Base settings for patchwork project.
+"""
import os
import django
-ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir)
+ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)),
+ os.pardir, os.pardir, os.pardir)
#
# Core settings
@@ -13,7 +16,7 @@ ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir)
# Models
-INSTALLED_APPS = (
+INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
@@ -21,7 +24,7 @@ INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.staticfiles',
'patchwork',
-)
+]
# HTTP
@@ -38,36 +41,6 @@ if django.VERSION < (1, 7):
else:
MIDDLEWARE_CLASSES.append(
'django.contrib.admindocs.middleware.XViewMiddleware')
- TEST_RUNNER = 'django.test.runner.DiscoverRunner'
-
-# Debugging
-
-DEBUG = True
-
-if django.VERSION >= (1, 7):
- TEST_RUNNER = 'django.test.runner.DiscoverRunner'
-
-# Email
-
-ADMINS = (
- ('Jeremy Kerr', 'jk@ozlabs.org'),
-)
-
-MANAGERS = ADMINS
-
-# Databases
-
-DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.postgresql_psycopg2',
- 'NAME': 'patchwork',
- },
-}
-
-# File Uploads
-
-MEDIA_ROOT = os.path.join(
- ROOT_DIR, 'lib', 'python', 'django', 'contrib', 'admin', 'media')
# Globalization
@@ -81,15 +54,8 @@ USE_I18N = True
ROOT_URLCONF = 'patchwork.urls'
-# Security
-
-# Make this unique, and don't share it with anybody.
-SECRET_KEY = '00000000000000000000000000000000000000000000000000'
-
# Templates
-TEMPLATE_DEBUG = True
-
TEMPLATE_DIRS = (
os.path.join(ROOT_DIR, 'templates'),
)
@@ -139,7 +105,7 @@ NOTIFICATION_FROM_EMAIL = DEFAULT_FROM_EMAIL
# Set to True to enable the Patchwork XML-RPC interface
ENABLE_XMLRPC = False
-# set to True to enable redirections or URLs from previous versions
+# Set to True to enable redirections or URLs from previous versions
# of patchwork
COMPAT_REDIR = True
@@ -147,13 +113,3 @@ COMPAT_REDIR = True
# the scheme based on current access. This is useful if SSL protocol
# is terminated upstream of the server (e.g. at the load balancer)
FORCE_HTTPS_LINKS = False
-
-try:
- from local_settings import *
-except ImportError, ex:
- import sys
- sys.stderr.write(\
- ("settings.py: error importing local settings file:\n" + \
- "\t%s\n" + \
- "Do you have a local_settings.py module?\n") % str(ex))
- raise
diff --git a/apps/patchwork/settings/dev.py b/apps/patchwork/settings/dev.py
new file mode 100644
index 0000000..6e373cc
--- /dev/null
+++ b/apps/patchwork/settings/dev.py
@@ -0,0 +1,52 @@
+"""
+Development settings for patchwork project.
+
+These are also used in unit tests.
+
+Design based on:
+ http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/
+"""
+
+import django
+
+from base import *
+
+#
+# Core settings
+# https://docs.djangoproject.com/en/1.6/ref/settings/#core-settings
+#
+
+# Security
+
+SECRET_KEY = '00000000000000000000000000000000000000000000000000'
+
+# Debugging
+
+DEBUG = True
+
+# Templates
+
+TEMPLATE_DEBUG = True
+
+# Database
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql',
+ 'HOST': 'localhost',
+ 'PORT': '',
+ 'USER': os.environ['PW_TEST_DB_USER'],
+ 'PASSWORD': os.environ['PW_TEST_DB_PASS'],
+ 'NAME': 'patchwork',
+ 'TEST_CHARSET': 'utf8',
+ },
+}
+
+if django.VERSION >= (1, 7):
+ TEST_RUNNER = 'django.test.runner.DiscoverRunner'
+
+#
+# Patchwork settings
+#
+
+ENABLE_XMLRPC = True
diff --git a/apps/patchwork/settings/prod.py b/apps/patchwork/settings/prod.py
new file mode 100644
index 0000000..d71f3df
--- /dev/null
+++ b/apps/patchwork/settings/prod.py
@@ -0,0 +1,62 @@
+"""
+Sample production-ready settings for patchwork project.
+
+Most of these are commented out as they will be installation dependent.
+
+Design based on:
+ http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/
+"""
+
+from base import *
+
+#
+# Core settings
+# https://docs.djangoproject.com/en/1.6/ref/settings/#core-settings
+#
+
+# Security
+
+# SECRET_KEY = '00000000000000000000000000000000000000000000000000'
+
+# Email
+
+# ADMINS = (
+# ('Jeremy Kerr', 'jk@ozlabs.org'),
+# )
+
+# Database
+
+# DATABASES = {
+# 'default': {
+# 'ENGINE': 'django.db.backends.postgresql_psycopg2',
+# 'NAME': 'patchwork',
+# },
+# }
+
+# File Uploads
+
+# MEDIA_ROOT = os.path.join(
+# ROOT_DIR, 'lib', 'python', 'django', 'contrib', 'admin', 'media')
+
+
+#
+# Static files settings
+# https://docs.djangoproject.com/en/1.6/ref/settings/#static-files
+#
+
+# STATIC_ROOT = '/srv/patchwork/htdocs'
+
+
+#
+# Custom user overrides (for legacy)
+#
+
+try:
+ from local_settings import *
+except ImportError, ex:
+ import sys
+ sys.stderr.write(\
+ ("settings.py: error importing local settings file:\n" + \
+ "\t%s\n" + \
+ "Do you have a local_settings.py module?\n") % str(ex))
+ raise