2010-02-04 02:09:30 +03:00
|
|
|
# Django settings for kitsune project.
|
2010-02-04 02:16:45 +03:00
|
|
|
import os
|
|
|
|
import logging
|
2010-02-04 02:09:30 +03:00
|
|
|
|
2010-04-06 21:24:04 +04:00
|
|
|
from tower import ugettext_lazy as _lazy
|
2010-03-22 22:50:31 +03:00
|
|
|
|
2010-04-16 07:09:48 +04:00
|
|
|
from sumo_locales import LOCALES
|
2010-04-01 23:45:15 +04:00
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
DEBUG = True
|
|
|
|
TEMPLATE_DEBUG = DEBUG
|
2010-02-04 02:16:45 +03:00
|
|
|
LOG_LEVEL = logging.DEBUG
|
|
|
|
|
|
|
|
ROOT = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
path = lambda *a: os.path.join(ROOT, *a)
|
2010-02-04 02:09:30 +03:00
|
|
|
|
2010-04-22 01:52:58 +04:00
|
|
|
ROOT_PACKAGE = os.path.basename(ROOT)
|
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
ADMINS = (
|
|
|
|
# ('Your Name', 'your_email@domain.com'),
|
|
|
|
)
|
|
|
|
|
|
|
|
MANAGERS = ADMINS
|
|
|
|
|
|
|
|
DATABASES = {
|
|
|
|
'default': {
|
2010-05-25 00:44:28 +04:00
|
|
|
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
|
|
|
|
'NAME': 'kitsune', # Or path to database file if using sqlite3.
|
|
|
|
'USER': '', # Not used with sqlite3.
|
|
|
|
'PASSWORD': '', # Not used with sqlite3.
|
|
|
|
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
|
|
|
|
'PORT': '', # Set to empty string for default. Not used with sqlite3.
|
2010-02-10 05:36:38 +03:00
|
|
|
'OPTIONS': {'init_command': 'SET storage_engine=InnoDB'},
|
2010-02-04 02:09:30 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-06-16 23:34:58 +04:00
|
|
|
DATABASE_ROUTERS = ('multidb.PinningMasterSlaveRouter',)
|
2010-02-09 22:01:37 +03:00
|
|
|
|
|
|
|
# Put the aliases for your slave databases in this list
|
|
|
|
SLAVE_DATABASES = []
|
|
|
|
|
2010-02-10 03:43:08 +03:00
|
|
|
# Cache Settings
|
2010-06-05 10:30:18 +04:00
|
|
|
#CACHE_BACKEND = 'caching.backends.memcached://localhost:11211'
|
2010-02-10 03:43:08 +03:00
|
|
|
#CACHE_PREFIX = 'sumo:'
|
|
|
|
|
2010-04-21 04:50:53 +04:00
|
|
|
# Addresses email comes from
|
|
|
|
DEFAULT_FROM_EMAIL = 'notifications@support.mozilla.com'
|
|
|
|
SERVER_EMAIL = 'server-error@support.mozilla.com'
|
2010-02-10 03:43:08 +03:00
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
# 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.
|
2010-05-11 03:18:00 +04:00
|
|
|
TIME_ZONE = 'US/Pacific'
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
# Language code for this installation. All choices can be found here:
|
|
|
|
# http://www.i18nguy.com/unicode/language-identifiers.html
|
2010-04-01 23:45:15 +04:00
|
|
|
LANGUAGE_CODE = 'en-US'
|
|
|
|
|
|
|
|
# Supported languages
|
|
|
|
SUMO_LANGUAGES = (
|
2010-04-27 22:57:39 +04:00
|
|
|
'ar', 'as', 'ast', 'bg', 'bn-BD', 'bn-IN', 'bs', 'ca', 'cs', 'da', 'de',
|
|
|
|
'el', 'en-US', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fr', 'fur', 'fy-NL',
|
2010-06-02 02:42:53 +04:00
|
|
|
'ga-IE', 'gd', 'gl', 'gu-IN', 'he', 'hi-IN', 'hr', 'hu', 'id', 'ilo',
|
|
|
|
'is', 'it', 'ja', 'kk', 'kn', 'ko', 'lt', 'mk', 'mn', 'mr', 'ms', 'nb-NO',
|
|
|
|
'nl', 'no', 'oc', 'pa-IN', 'pl', 'pt-BR', 'pt-PT', 'rm', 'ro', 'ru', 'rw',
|
|
|
|
'si', 'sk', 'sl', 'sq', 'sr-CYRL', 'sr-LATN', 'sv-SE', 'ta-LK', 'te',
|
|
|
|
'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW',
|
2010-04-01 23:45:15 +04:00
|
|
|
)
|
|
|
|
|
2010-04-16 07:09:48 +04:00
|
|
|
LANGUAGES = dict([(i.lower(), LOCALES[i].native)
|
2010-04-01 23:45:15 +04:00
|
|
|
for i in SUMO_LANGUAGES])
|
|
|
|
|
|
|
|
LANGUAGE_URL_MAP = dict([(i.lower(), i) for i in SUMO_LANGUAGES])
|
|
|
|
|
2010-04-22 01:52:58 +04:00
|
|
|
TEXT_DOMAIN = 'messages'
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
SITE_ID = 1
|
2010-03-22 22:50:31 +03:00
|
|
|
SITE_TITLE = _lazy(u'Firefox Support', 'site_title')
|
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
# If you set this to False, Django will make some optimizations so as not
|
|
|
|
# to load the internationalization machinery.
|
|
|
|
USE_I18N = True
|
2010-04-01 23:45:15 +04:00
|
|
|
USE_L10N = True
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
# Absolute path to the directory that holds media.
|
|
|
|
# Example: "/home/media/media.lawrence.com/"
|
2010-02-04 02:16:45 +03:00
|
|
|
MEDIA_ROOT = path('media')
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
# 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/"
|
2010-02-04 02:16:45 +03:00
|
|
|
MEDIA_URL = '/media/'
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
|
|
|
|
# trailing slash.
|
|
|
|
# Examples: "http://foo.com/media/", "/media/".
|
2010-02-04 02:16:45 +03:00
|
|
|
ADMIN_MEDIA_PREFIX = '/admin-media/'
|
2010-02-04 02:09:30 +03:00
|
|
|
|
2010-04-01 23:45:15 +04:00
|
|
|
# Paths that don't require a locale prefix.
|
2010-05-19 06:00:23 +04:00
|
|
|
SUPPORTED_NONLOCALES = ('media', 'admin')
|
2010-04-01 23:45:15 +04:00
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
# Make this unique, and don't share it with anybody.
|
|
|
|
SECRET_KEY = '#%tc(zja8j01!r#h_y)=hy!^k)9az74k+-ib&ij&+**s3-e^_z'
|
|
|
|
|
|
|
|
# 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',
|
|
|
|
)
|
|
|
|
|
2010-03-04 04:59:03 +03:00
|
|
|
TEMPLATE_CONTEXT_PROCESSORS = (
|
|
|
|
'django.core.context_processors.auth',
|
|
|
|
'django.core.context_processors.debug',
|
|
|
|
'django.core.context_processors.media',
|
|
|
|
'django.core.context_processors.request',
|
2010-03-22 22:50:31 +03:00
|
|
|
'django.contrib.messages.context_processors.messages',
|
2010-05-25 05:03:52 +04:00
|
|
|
|
|
|
|
'sumo.context_processors.global_settings',
|
2010-07-21 01:01:46 +04:00
|
|
|
'jingo_minify.helpers.build_ids'
|
2010-03-04 04:59:03 +03:00
|
|
|
)
|
|
|
|
|
2010-02-04 02:09:30 +03:00
|
|
|
MIDDLEWARE_CLASSES = (
|
2010-06-16 23:34:58 +04:00
|
|
|
'multidb.middleware.PinningRouterMiddleware',
|
2010-04-01 23:45:15 +04:00
|
|
|
'sumo.middleware.LocaleURLMiddleware',
|
2010-05-25 03:58:13 +04:00
|
|
|
'sumo.middleware.Forbidden403Middleware',
|
2010-02-04 02:09:30 +03:00
|
|
|
'django.middleware.common.CommonMiddleware',
|
2010-03-31 04:43:19 +04:00
|
|
|
'commonware.middleware.NoVarySessionMiddleware',
|
2010-02-04 02:09:30 +03:00
|
|
|
'django.middleware.csrf.CsrfViewMiddleware',
|
|
|
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
|
|
'django.contrib.messages.middleware.MessageMiddleware',
|
2010-06-28 20:30:02 +04:00
|
|
|
'sumo.anonymous.AnonymousIdentityMiddleware',
|
2010-03-31 04:43:19 +04:00
|
|
|
|
|
|
|
# TODO: Replace with Kitsune auth.
|
|
|
|
'sumo.middleware.TikiCookieMiddleware',
|
|
|
|
)
|
|
|
|
|
|
|
|
# Auth
|
|
|
|
AUTHENTICATION_BACKENDS = (
|
2010-05-21 02:56:54 +04:00
|
|
|
'django.contrib.auth.backends.ModelBackend',
|
2010-05-25 00:44:28 +04:00
|
|
|
'sumo.backends.SessionBackend', # TODO: Replace with Kitsune auth.
|
2010-02-04 02:09:30 +03:00
|
|
|
)
|
|
|
|
|
2010-04-22 01:52:58 +04:00
|
|
|
ROOT_URLCONF = '%s.urls' % ROOT_PACKAGE
|
2010-02-04 02:09:30 +03:00
|
|
|
|
|
|
|
TEMPLATE_DIRS = (
|
2010-02-11 21:56:11 +03:00
|
|
|
# Put strings here, like "/home/html/django_templates"
|
2010-02-04 02:09:30 +03:00
|
|
|
# Always use forward slashes, even on Windows.
|
|
|
|
# Don't forget to use absolute paths, not relative paths.
|
2010-02-04 02:16:45 +03:00
|
|
|
path('templates'),
|
2010-02-04 02:09:30 +03:00
|
|
|
)
|
|
|
|
|
2010-06-23 22:43:24 +04:00
|
|
|
# TODO: Figure out why changing the order of apps (for example, moving taggit
|
|
|
|
# higher in the list) breaks tests.
|
2010-02-04 02:09:30 +03:00
|
|
|
INSTALLED_APPS = (
|
|
|
|
'django.contrib.auth',
|
|
|
|
'django.contrib.contenttypes',
|
|
|
|
'django.contrib.sessions',
|
|
|
|
'django.contrib.sites',
|
|
|
|
'django.contrib.messages',
|
2010-05-19 06:00:23 +04:00
|
|
|
'django.contrib.admin',
|
2010-04-06 22:01:47 +04:00
|
|
|
'tower',
|
2010-04-08 23:19:09 +04:00
|
|
|
'jingo_minify',
|
2010-04-22 01:52:58 +04:00
|
|
|
ROOT_PACKAGE,
|
2010-05-15 05:10:59 +04:00
|
|
|
'authority',
|
2010-06-02 03:35:09 +04:00
|
|
|
'access',
|
2010-02-11 04:32:02 +03:00
|
|
|
'sumo',
|
|
|
|
'search',
|
2010-04-24 01:08:50 +04:00
|
|
|
'forums',
|
2010-05-27 03:36:01 +04:00
|
|
|
'celery',
|
2010-06-30 22:23:32 +04:00
|
|
|
'cronjobs',
|
2010-05-27 03:36:01 +04:00
|
|
|
'notifications',
|
2010-05-29 05:35:16 +04:00
|
|
|
'identicons',
|
2010-05-12 22:50:50 +04:00
|
|
|
'questions',
|
2010-06-18 19:57:39 +04:00
|
|
|
'kadmin',
|
2010-06-23 22:43:24 +04:00
|
|
|
'taggit',
|
2010-07-20 01:15:39 +04:00
|
|
|
'flagit',
|
2010-07-15 05:54:41 +04:00
|
|
|
'upload',
|
2010-07-29 04:35:27 +04:00
|
|
|
'product_details'
|
2010-02-04 02:09:30 +03:00
|
|
|
)
|
2010-02-04 02:18:25 +03:00
|
|
|
|
2010-04-08 03:43:51 +04:00
|
|
|
# Extra apps for testing
|
|
|
|
if DEBUG:
|
|
|
|
INSTALLED_APPS += (
|
|
|
|
'django_extensions',
|
|
|
|
'django_nose',
|
|
|
|
'test_utils',
|
2010-03-31 04:43:19 +04:00
|
|
|
)
|
2010-04-08 03:43:51 +04:00
|
|
|
|
2010-02-11 03:36:35 +03:00
|
|
|
TEST_RUNNER = 'test_utils.runner.RadicalTestSuiteRunner'
|
|
|
|
|
2010-05-25 00:44:28 +04:00
|
|
|
|
2010-04-06 22:01:47 +04:00
|
|
|
def JINJA_CONFIG():
|
|
|
|
import jinja2
|
|
|
|
from django.conf import settings
|
|
|
|
from caching.base import cache
|
2010-05-25 00:44:28 +04:00
|
|
|
config = {'extensions': ['tower.template.i18n', 'caching.ext.cache', ],
|
2010-04-06 22:01:47 +04:00
|
|
|
'finalize': lambda x: x if x is not None else ''}
|
|
|
|
if 'memcached' in cache.scheme and not settings.DEBUG:
|
|
|
|
# We're passing the _cache object directly to jinja because
|
|
|
|
# Django can't store binary directly; it enforces unicode on it.
|
|
|
|
# Details: http://jinja.pocoo.org/2/documentation/api#bytecode-cache
|
|
|
|
# and in the errors you get when you try it the other way.
|
|
|
|
bc = jinja2.MemcachedBytecodeCache(cache._cache,
|
|
|
|
"%sj2:" % settings.CACHE_PREFIX)
|
|
|
|
config['cache_size'] = -1 # Never clear the cache
|
|
|
|
config['bytecode_cache'] = bc
|
|
|
|
return config
|
|
|
|
|
2010-07-23 01:29:09 +04:00
|
|
|
# Let Tower know about our additional keywords.
|
|
|
|
# DO NOT import an ngettext variant as _lazy.
|
|
|
|
TOWER_KEYWORDS = {
|
|
|
|
'_lazy': None,
|
|
|
|
}
|
|
|
|
|
2010-04-06 22:01:47 +04:00
|
|
|
# Tells the extract script what files to look for l10n in and what function
|
|
|
|
# handles the extraction. The Tower library expects this.
|
|
|
|
DOMAIN_METHODS = {
|
|
|
|
'messages': [
|
2010-07-23 01:29:09 +04:00
|
|
|
('apps/forums/**', 'ignore'),
|
|
|
|
('apps/questions/**', 'ignore'),
|
2010-04-06 22:01:47 +04:00
|
|
|
('apps/**.py',
|
|
|
|
'tower.management.commands.extract.extract_tower_python'),
|
|
|
|
('**/templates/**.html',
|
|
|
|
'tower.management.commands.extract.extract_tower_template'),
|
|
|
|
],
|
|
|
|
'lhtml': [
|
2010-07-23 01:29:09 +04:00
|
|
|
('apps/forums/**', 'ignore'),
|
|
|
|
('apps/questions/**', 'ignore'),
|
2010-04-06 22:01:47 +04:00
|
|
|
('**/templates/**.lhtml',
|
|
|
|
'tower.management.commands.extract.extract_tower_template'),
|
|
|
|
],
|
|
|
|
'javascript': [
|
|
|
|
# We can't say **.js because that would dive into any libraries.
|
|
|
|
('media/js/*.js', 'javascript'),
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2010-07-01 02:24:01 +04:00
|
|
|
# These domains will not be merged into messages.pot and will use separate PO
|
|
|
|
# files. See the following URL for an example of how to set these domains
|
|
|
|
# in DOMAIN_METHODS.
|
|
|
|
# http://github.com/jbalogh/zamboni/blob/d4c64239c24aa2f1e91276909823d1d1b290f0ee/settings.py#L254
|
|
|
|
STANDALONE_DOMAINS = [
|
|
|
|
'javascript',
|
|
|
|
]
|
|
|
|
|
2010-04-06 22:01:47 +04:00
|
|
|
# If you have trouble extracting strings with Tower, try setting this
|
|
|
|
# to True
|
2010-05-13 06:25:56 +04:00
|
|
|
TOWER_ADD_HEADERS = True
|
2010-04-06 22:01:47 +04:00
|
|
|
|
2010-04-08 23:19:09 +04:00
|
|
|
# Bundles for JS/CSS Minification
|
|
|
|
MINIFY_BUNDLES = {
|
|
|
|
'css': {
|
|
|
|
'common': (
|
|
|
|
'css/main.css',
|
|
|
|
'css/sidebar.css',
|
2010-06-04 22:34:44 +04:00
|
|
|
),
|
|
|
|
'forums': (
|
2010-05-06 21:40:21 +04:00
|
|
|
'css/forums.css',
|
2010-04-08 23:19:09 +04:00
|
|
|
),
|
2010-05-25 00:44:28 +04:00
|
|
|
'questions': (
|
|
|
|
'css/questions.css',
|
2010-06-23 22:43:24 +04:00
|
|
|
'css/tags.css',
|
|
|
|
'css/jqueryui/jquery.ui.core.css',
|
|
|
|
'css/jqueryui/jquery.ui.autocomplete.css',
|
|
|
|
'css/jqueryui/jquery.ui.theme.css',
|
2010-05-25 00:44:28 +04:00
|
|
|
),
|
2010-04-08 23:19:09 +04:00
|
|
|
'search': (
|
|
|
|
'css/search.css',
|
|
|
|
),
|
2010-05-04 23:43:13 +04:00
|
|
|
'ie': (
|
|
|
|
'css/ie.css',
|
|
|
|
),
|
2010-04-08 23:19:09 +04:00
|
|
|
},
|
|
|
|
'js': {
|
|
|
|
'common': (
|
2010-05-25 00:44:28 +04:00
|
|
|
'js/libs/jquery.min.js',
|
|
|
|
'js/libs/modernizr-1.1.min.js',
|
2010-04-29 10:21:43 +04:00
|
|
|
'js/menu.js',
|
2010-05-22 04:17:50 +04:00
|
|
|
'js/main.js',
|
2010-04-08 23:19:09 +04:00
|
|
|
),
|
2010-05-25 00:44:28 +04:00
|
|
|
'questions': (
|
2010-06-23 22:43:24 +04:00
|
|
|
'js/libs/jqueryui.min.js',
|
2010-07-15 05:54:41 +04:00
|
|
|
'js/markup.js',
|
|
|
|
'js/upload.js',
|
|
|
|
'js/questions.js',
|
2010-06-23 22:43:24 +04:00
|
|
|
'js/tags.js',
|
2010-05-25 00:44:28 +04:00
|
|
|
),
|
2010-04-08 23:19:09 +04:00
|
|
|
'search': (
|
2010-05-25 00:44:28 +04:00
|
|
|
'js/libs/jqueryui.min.js',
|
2010-04-08 23:19:09 +04:00
|
|
|
'js/search.js',
|
|
|
|
),
|
2010-05-25 02:37:06 +04:00
|
|
|
'forums': (
|
|
|
|
'js/markup.js',
|
|
|
|
)
|
2010-04-08 23:19:09 +04:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
JAVA_BIN = '/usr/bin/java'
|
|
|
|
|
2010-05-21 20:56:05 +04:00
|
|
|
#
|
|
|
|
# Session cookies
|
|
|
|
SESSION_COOKIE_SECURE = True
|
|
|
|
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
|
|
|
|
|
2010-02-04 02:18:25 +03:00
|
|
|
#
|
|
|
|
# Connection information for Sphinx search
|
|
|
|
SPHINX_HOST = '127.0.0.1'
|
2010-05-08 04:34:06 +04:00
|
|
|
SPHINX_PORT = 3381
|
2010-02-06 04:04:33 +03:00
|
|
|
|
2010-04-08 03:43:51 +04:00
|
|
|
SPHINX_INDEXER = '/usr/bin/indexer'
|
|
|
|
SPHINX_SEARCHD = '/usr/bin/searchd'
|
2010-04-02 03:27:16 +04:00
|
|
|
SPHINX_CONFIG_PATH = path('configs/sphinx/sphinx.conf')
|
|
|
|
|
2010-02-06 04:04:33 +03:00
|
|
|
#
|
|
|
|
# Sphinx results tweaking
|
2010-05-25 00:44:28 +04:00
|
|
|
SEARCH_FORUM_MIN_AGE = 7 # age before which decay doesn't apply, in days
|
|
|
|
SEARCH_FORUM_HALF_LIFE = 14 # controls the decay rate, in days
|
2010-02-11 21:56:11 +03:00
|
|
|
SEARCH_MAX_RESULTS = 1000
|
2010-02-10 00:11:20 +03:00
|
|
|
SEARCH_RESULTS_PER_PAGE = 10
|
|
|
|
|
2010-02-10 05:36:38 +03:00
|
|
|
#
|
2010-02-10 00:11:20 +03:00
|
|
|
# Search default settings
|
2010-07-27 20:39:07 +04:00
|
|
|
# comma-separated tuple of included category IDs. Negative IDs are excluded.
|
2010-03-25 01:14:05 +03:00
|
|
|
SEARCH_DEFAULT_CATEGORIES = (1, 17, 18, -3,)
|
2010-03-02 03:56:30 +03:00
|
|
|
SEARCH_SUMMARY_LENGTH = 275
|
|
|
|
# because of markup cleanup, search summaries lengths vary quite a bit
|
|
|
|
# so we extract longer excerpts and perform truncation to the length above
|
|
|
|
SEARCH_SUMMARY_LENGTH_MULTIPLIER = 1.3
|
2010-05-21 02:55:14 +04:00
|
|
|
|
|
|
|
#
|
|
|
|
# The length for which we would like the user to cache search forms and
|
|
|
|
# results, in minutes.
|
|
|
|
SEARCH_CACHE_PERIOD = 15
|
2010-05-15 05:10:59 +04:00
|
|
|
|
|
|
|
# Auth and permissions related constants
|
|
|
|
# TODO: Once we can log in through Kitsune, change this.
|
|
|
|
LOGIN_URL = '/tiki-login.php'
|
2010-05-25 03:58:13 +04:00
|
|
|
LOGOUT_URL = '/tiki-logout.php'
|
2010-05-25 05:03:52 +04:00
|
|
|
REGISTER_URL = '/tiki-register.php'
|
2010-06-10 22:42:57 +04:00
|
|
|
WIKI_CREATE_URL = '/tiki-editpage.php?page=%s'
|
|
|
|
WIKI_EDIT_URL = '/tiki-editpage.php?page=%s'
|
2010-06-10 01:40:34 +04:00
|
|
|
WIKI_UPLOAD_URL = '/img/wiki_up/'
|
2010-05-27 03:36:01 +04:00
|
|
|
|
2010-07-30 00:33:54 +04:00
|
|
|
IMAGE_MAX_FILESIZE = 1048576 # 1 megabyte, in bytes
|
2010-07-23 12:44:37 +04:00
|
|
|
THUMBNAIL_SIZE = 120 # Thumbnail size, in pixels
|
|
|
|
THUMBNAIL_UPLOAD_PATH = 'uploads/images/thumbnails/'
|
|
|
|
IMAGE_UPLOAD_PATH = 'uploads/images/'
|
|
|
|
# A string listing image mime types to accept, comma separated.
|
|
|
|
# String must not contain double quotes!
|
|
|
|
IMAGE_ALLOWED_MIMETYPES = 'image/jpeg,image/png,image/gif'
|
2010-07-15 05:54:41 +04:00
|
|
|
|
2010-07-27 20:39:07 +04:00
|
|
|
# Max number of wiki pages or other questions to suggest might answer the
|
|
|
|
# question you're about to ask
|
|
|
|
QUESTIONS_MAX_SUGGESTIONS = 5
|
|
|
|
# Number of extra suggestion results to pull from Sphinx to make up for
|
|
|
|
# possibly deleted wiki pages or question. To be safe, set this to the number
|
|
|
|
# of things that could be deleted between indexer runs.
|
|
|
|
QUESTIONS_SUGGESTION_SLOP = 3
|
|
|
|
|
2010-05-27 03:36:01 +04:00
|
|
|
# Email
|
|
|
|
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
|
|
|
|
|
|
|
# Celery
|
|
|
|
BROKER_HOST = 'localhost'
|
|
|
|
BROKER_PORT = 5672
|
|
|
|
BROKER_USER = 'kitsune'
|
|
|
|
BROKER_PASSWORD = 'kitsune'
|
|
|
|
BROKER_VHOST = 'kitsune'
|
|
|
|
CELERY_RESULT_BACKEND = 'amqp'
|
|
|
|
CELERY_IGNORE_RESULT = True
|
2010-06-02 07:55:31 +04:00
|
|
|
CELERY_ALWAYS_EAGER = True # For tests. Set to False for use.
|
2010-06-28 20:30:02 +04:00
|
|
|
|
|
|
|
# Anonymous user cookie
|
|
|
|
ANONYMOUS_COOKIE_NAME = 'SUMO_ANONID'
|
|
|
|
ANONYMOUS_COOKIE_MAX_AGE = 30 * 86400 # Seconds
|
2010-07-02 18:18:15 +04:00
|
|
|
|
|
|
|
# Top contributors cache settings
|
|
|
|
TOP_CONTRIBUTORS_CACHE_KEY = 'sumo:TopContributors'
|
|
|
|
TOP_CONTRIBUTORS_CACHE_TIMEOUT = 60 * 60 * 12
|