aboutsummaryrefslogtreecommitdiff
path: root/rpkid/portal-gui/settings.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/portal-gui/settings.py.in')
-rw-r--r--rpkid/portal-gui/settings.py.in134
1 files changed, 134 insertions, 0 deletions
diff --git a/rpkid/portal-gui/settings.py.in b/rpkid/portal-gui/settings.py.in
new file mode 100644
index 00000000..8246304c
--- /dev/null
+++ b/rpkid/portal-gui/settings.py.in
@@ -0,0 +1,134 @@
+#
+# Sample Django settings.py for running the RPKI portal gui. This
+# template was written for Django 1.3.
+#
+# DO NOT EDIT! This file is automatically generated from
+# settings.py.in
+
+
+__version__ = '$Id$'
+
+import rpki.config
+import os.path
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+
+# needs to be set prior to the call to rpki.config.parser so it knows
+# where to find the system rpki.conf
+rpki.config.default_dirname = '%(AC_SYSCONFDIR)s'
+
+# load the sql authentication bits from the system rpki.conf
+rpki_config = rpki.config.parser(section='web_portal')
+
+
+def get_conv():
+ """Add a custom data converter to encode long() as a hex string
+ in generated SQL statements.
+
+ This is necessary since Django doesn't support binary field types, and
+ assumes all strings are UTF-8. Without this conversion, the generated SQL
+ uses a raw byte string.
+
+ See https://trac.rpki.net/ticket/434
+
+ """
+ from MySQLdb.converters import conversions
+ import types
+ conv = conversions.copy()
+ # WARNING: the extra percents in the following line are due to the fact
+ # that this entire script is used as a format string to generate
+ # settings.py
+ conv[types.LongType] = lambda x, conv: "0x%%x" %% x
+ return conv
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql',
+ 'NAME': rpki_config.get('sql-database'),
+ 'USER': rpki_config.get('sql-username'),
+ 'PASSWORD': rpki_config.get('sql-password'),
+
+ # Ensure the default storage engine is InnoDB since we need
+ # foreign key support. The Django documentation suggests
+ # removing this after the syncdb is performed as an optimization,
+ # but there isn't an easy way to do this automatically.
+
+ 'OPTIONS': {
+ 'init_command': 'SET storage_engine=INNODB',
+ 'conv': get_conv(),
+ }
+ }
+}
+
+
+def select_tz():
+ "Find a supported timezone that looks like UTC"
+ for tz in ('UTC', 'GMT', 'Etc/UTC', 'Etc/GMT'):
+ if os.path.exists('/usr/share/zoneinfo/' + tz):
+ return tz
+ # Can't determine the proper timezone, fall back to UTC and let Django
+ # report the error to the user
+ return 'UTC'
+
+# 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 = select_tz()
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = '%(AC_SECRET_KEY)s'
+
+# 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',
+ 'django.template.loaders.eggs.Loader'
+)
+
+MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+
+ # order is important here. if csrfmidware is put before condgetmidware,
+ # the returned pages get truncated for some reason!
+ 'django.middleware.http.ConditionalGetMiddleware',
+
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware'
+)
+
+ROOT_URLCONF = 'rpki.gui.urls'
+
+INSTALLED_APPS = (
+ 'django.contrib.auth',
+ #'django.contrib.admin',
+ #'django.contrib.admindocs',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.staticfiles',
+ 'rpki.irdb',
+ 'rpki.gui.app',
+ 'rpki.gui.cacheview',
+ 'rpki.gui.routeview',
+ 'south',
+)
+
+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",
+ "django.core.context_processors.request",
+ "django.core.context_processors.static"
+)
+
+# where to put static files
+STATIC_ROOT = '%(AC_DATAROOTDIR)s/rpki/media'
+
+# must end with a slash!
+STATIC_URL = '/media/'