Normalize quote char on settings with minor reorganization and cleaning.

remotes/origin/enhancement/email-actions
Andrey Antukh 2014-03-21 19:52:10 +01:00
parent 2907b2aebf
commit 87c5346e84
1 changed files with 147 additions and 172 deletions

View File

@ -9,156 +9,125 @@ OUT_BASE_DIR = os.path.abspath(
os.path.join(BASE_DIR, "..") os.path.join(BASE_DIR, "..")
) )
USE_X_FORWARDED_HOST = True
APPEND_SLASH = False APPEND_SLASH = False
ADMINS = ( ADMINS = (
('Admin', 'example@example.com'), ("Admin", "example@example.com"),
) )
LANGUAGES = ( LANGUAGES = (
('en', _('English')), ("en", _("English")),
('es', _('Spanish')), ("es", _("Spanish")),
) )
DATABASES = { DATABASES = {
'default': { "default": {
'ENGINE': 'django.db.backends.postgresql_psycopg2', "ENGINE": "django.db.backends.postgresql_psycopg2",
'NAME': 'taiga', "NAME": "taiga",
} }
} }
CACHES = { CACHES = {
'default': { "default": {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
'LOCATION': 'unique-snowflake' "LOCATION": "unique-snowflake"
} }
} }
PASSWORD_HASHERS = [ PASSWORD_HASHERS = [
'django.contrib.auth.hashers.PBKDF2PasswordHasher', "django.contrib.auth.hashers.PBKDF2PasswordHasher",
] ]
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') # Default configuration for reverse proxy
USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTOCOL", "https")
# Errors report configuration
SEND_BROKEN_LINK_EMAILS = True SEND_BROKEN_LINK_EMAILS = True
IGNORABLE_404_ENDS = ('.php', '.cgi') IGNORABLE_404_ENDS = (".php", ".cgi")
IGNORABLE_404_STARTS = ('/phpmyadmin/',) IGNORABLE_404_STARTS = ("/phpmyadmin/",)
# Default django tz/i18n config
ATOMIC_REQUESTS = True ATOMIC_REQUESTS = True
TIME_ZONE = "UTC"
TIME_ZONE = 'UTC' LANGUAGE_CODE = "en"
LANGUAGE_CODE = 'en'
USE_I18N = True USE_I18N = True
USE_L10N = True USE_L10N = True
LOGIN_URL='/auth/login/' LOGIN_URL="/auth/login/"
USE_TZ = True USE_TZ = True
SITES = { SITES = {
1: {"domain": "localhost:8000", "scheme": "http"}, 1: {"domain": "localhost:8000", "scheme": "http"},
} }
SITES_FRONT = {
1: {"domain": "localhost:9001", "scheme": "http"},
}
DOMAIN_ID = 1 DOMAIN_ID = 1
# Only for django. Not used.
SITE_ID = 1 SITE_ID = 1
#SESSION BACKEND # Session configuration (only used for admin)
SESSION_ENGINE='django.contrib.sessions.backends.db' SESSION_ENGINE="django.contrib.sessions.backends.db"
#SESSION_ENGINE='django.contrib.sessions.backends.cache'
#SESSION_EXPIRE_AT_BROWSER_CLOSE = False
#SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 1209600 # (2 weeks) SESSION_COOKIE_AGE = 1209600 # (2 weeks)
API_LIMIT_PER_PAGE = 0
HOST = 'http://localhost:8000' HOST = "http://localhost:8000"
# MAIL OPTIONS # MAIL OPTIONS
#EMAIL_USE_TLS = False
#EMAIL_HOST = 'localhost'
#EMAIL_HOST_USER = 'user'
#EMAIL_HOST_PASSWORD = 'password'
#EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = "john@doe.com" DEFAULT_FROM_EMAIL = "john@doe.com"
EMAIL_BACKEND = 'djmail.backends.default.EmailBackend' EMAIL_BACKEND = "djmail.backends.default.EmailBackend"
#EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend'
#EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' DJMAIL_REAL_BACKEND = "django.core.mail.backends.console.EmailBackend"
DJMAIL_REAL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
DJMAIL_SEND_ASYNC = True DJMAIL_SEND_ASYNC = True
DJMAIL_MAX_RETRY_NUMBER = 3 DJMAIL_MAX_RETRY_NUMBER = 3
DJMAIL_TEMPLATE_EXTENSION = 'jinja' DJMAIL_TEMPLATE_EXTENSION = "jinja"
# Message System # Message System
#MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage' MESSAGE_STORAGE = "django.contrib.messages.storage.session.SessionStorage"
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
# Absolute filesystem path to the directory that will hold user-uploaded files. # Static configuration.
# Example: "/home/media/media.lawrence.com/media/" MEDIA_ROOT = os.path.join(OUT_BASE_DIR, "media")
MEDIA_ROOT = os.path.join(OUT_BASE_DIR, 'media') MEDIA_URL = "/media/"
STATIC_ROOT = os.path.join(OUT_BASE_DIR, "static")
STATIC_URL = "/static/"
ADMIN_MEDIA_PREFIX = "/static/admin/"
# URL that handles the media served from MEDIA_ROOT. Make sure to use a STATICFILES_FINDERS = [
# trailing slash. "django.contrib.staticfiles.finders.FileSystemFinder",
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" "django.contrib.staticfiles.finders.AppDirectoriesFinder",
MEDIA_URL = '/media/' ]
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(OUT_BASE_DIR, 'static')
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# URL prefix for admin static files -- CSS, JavaScript and images.
# Make sure to use a trailing slash.
# Examples: "http://foo.com/static/admin/", "/static/admin/".
ADMIN_MEDIA_PREFIX = '/static/admin/'
DEFAULT_FILE_STORAGE = 'taiga.base.storage.FileSystemStorage'
# Additional locations of static files
STATICFILES_DIRS = ( STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static". # Put strings here, like "/home/html/static" or "C:/www/django/static".
# Don't forget to use absolute paths, not relative paths. # Don't forget to use absolute paths, not relative paths.
) )
# Defautl storage
DEFAULT_FILE_STORAGE = "taiga.base.storage.FileSystemStorage"
LOCALE_PATHS = ( LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'), os.path.join(BASE_DIR, "locale"),
) )
STATICFILES_FINDERS = [ SECRET_KEY = "aw3+t2r(8(0kkrhg8)gx6i96v5^kv%6cfep9wxfom0%7dy0m9e"
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
SECRET_KEY = 'aw3+t2r(8(0kkrhg8)gx6i96v5^kv%6cfep9wxfom0%7dy0m9e'
TEMPLATE_LOADERS = [ TEMPLATE_LOADERS = [
'django_jinja.loaders.AppLoader', "django_jinja.loaders.AppLoader",
'django_jinja.loaders.FileSystemLoader', "django_jinja.loaders.FileSystemLoader",
] ]
MIDDLEWARE_CLASSES = [ MIDDLEWARE_CLASSES = [
'taiga.base.middleware.cors.CoorsMiddleware', "taiga.base.middleware.cors.CoorsMiddleware",
'taiga.base.domains.middleware.DomainsMiddleware', "taiga.base.domains.middleware.DomainsMiddleware",
# Common middlewares # Common middlewares
'django.middleware.common.CommonMiddleware', "django.middleware.common.CommonMiddleware",
'django.middleware.locale.LocaleMiddleware', "django.middleware.locale.LocaleMiddleware",
# Only needed by django admin # Only needed by django admin
'django.contrib.sessions.middleware.SessionMiddleware', "django.contrib.sessions.middleware.SessionMiddleware",
'django.contrib.auth.middleware.AuthenticationMiddleware', "django.contrib.auth.middleware.AuthenticationMiddleware",
'django.contrib.messages.middleware.MessageMiddleware', "django.contrib.messages.middleware.MessageMiddleware",
] ]
TEMPLATE_CONTEXT_PROCESSORS = [ TEMPLATE_CONTEXT_PROCESSORS = [
@ -172,132 +141,138 @@ TEMPLATE_CONTEXT_PROCESSORS = [
"django.contrib.messages.context_processors.messages", "django.contrib.messages.context_processors.messages",
] ]
ROOT_URLCONF = 'taiga.urls' ROOT_URLCONF = "taiga.urls"
TEMPLATE_DIRS = [ TEMPLATE_DIRS = [
os.path.join(BASE_DIR, "templates"), os.path.join(BASE_DIR, "templates"),
] ]
INSTALLED_APPS = [ INSTALLED_APPS = [
'django.contrib.auth', "django.contrib.auth",
'django.contrib.contenttypes', "django.contrib.contenttypes",
'django.contrib.sessions', "django.contrib.sessions",
'django.contrib.messages', "django.contrib.messages",
'django.contrib.admin', "django.contrib.admin",
'django.contrib.staticfiles', "django.contrib.staticfiles",
'taiga.base.users', "taiga.base.users",
'taiga.base.domains', "taiga.base.domains",
'taiga.base.notifications', "taiga.base.notifications",
'taiga.base.searches', "taiga.base.searches",
'taiga.base', "taiga.base",
'taiga.projects', "taiga.projects",
'taiga.projects.mixins.blocked', "taiga.projects.mixins.blocked",
'taiga.projects.milestones', "taiga.projects.milestones",
'taiga.projects.userstories', "taiga.projects.userstories",
'taiga.projects.tasks', "taiga.projects.tasks",
'taiga.projects.issues', "taiga.projects.issues",
'taiga.front', "taiga.front",
#'taiga.projects.questions', #"taiga.projects.questions",
#'taiga.projects.documents', #"taiga.projects.documents",
'taiga.projects.wiki', "taiga.projects.wiki",
'south', "south",
'reversion', "reversion",
'rest_framework', "rest_framework",
'djmail', "djmail",
] ]
WSGI_APPLICATION = 'taiga.wsgi.application' WSGI_APPLICATION = "taiga.wsgi.application"
LOGGING = { LOGGING = {
'version': 1, "version": 1,
'disable_existing_loggers': True, "disable_existing_loggers": True,
'filters': { "filters": {
'require_debug_false': { "require_debug_false": {
'()': 'django.utils.log.RequireDebugFalse' "()": "django.utils.log.RequireDebugFalse"
} }
}, },
'formatters': { "formatters": {
'complete': { "complete": {
'format': '%(levelname)s:%(asctime)s:%(module)s %(message)s' "format": "%(levelname)s:%(asctime)s:%(module)s %(message)s"
}, },
'simple': { "simple": {
'format': '%(levelname)s:%(asctime)s: %(message)s' "format": "%(levelname)s:%(asctime)s: %(message)s"
}, },
'null': { "null": {
'format': '%(message)s', "format": "%(message)s",
}, },
}, },
'handlers': { "handlers": {
'null': { "null": {
'level':'DEBUG', "level":"DEBUG",
'class':'django.utils.log.NullHandler', "class":"django.utils.log.NullHandler",
}, },
'console':{ "console":{
'level':'DEBUG', "level":"DEBUG",
'class':'logging.StreamHandler', "class":"logging.StreamHandler",
'formatter': 'simple', "formatter": "simple",
}, },
'mail_admins': { "mail_admins": {
'level': 'ERROR', "level": "ERROR",
'filters': ['require_debug_false'], "filters": ["require_debug_false"],
'class': 'django.utils.log.AdminEmailHandler', "class": "django.utils.log.AdminEmailHandler",
} }
}, },
'loggers': { "loggers": {
'django': { "django": {
'handlers':['null'], "handlers":["null"],
'propagate': True, "propagate": True,
'level':'INFO', "level":"INFO",
}, },
'django.request': { "django.request": {
'handlers': ['mail_admins', 'console'], "handlers": ["mail_admins", "console"],
'level': 'ERROR', "level": "ERROR",
'propagate': False, "propagate": False,
}, },
'taiga': { "taiga": {
'handlers': ['console'], "handlers": ["console"],
'handlers': [], "handlers": [],
'level': 'DEBUG', "level": "DEBUG",
'propagate': False, "propagate": False,
}, },
'taiga.domains': { "taiga.domains": {
'handlers': ['console'], "handlers": ["console"],
'level': 'INFO', "level": "INFO",
'propagate': False, "propagate": False,
}, },
} }
} }
AUTH_USER_MODEL = 'users.User' AUTH_USER_MODEL = "users.User"
FORMAT_MODULE_PATH = 'taiga.base.formats' FORMAT_MODULE_PATH = "taiga.base.formats"
DATE_INPUT_FORMATS = ( DATE_INPUT_FORMATS = (
'%Y-%m-%d', '%m/%d/%Y', '%d/%m/%Y', '%b %d %Y', "%Y-%m-%d", "%m/%d/%Y", "%d/%m/%Y", "%b %d %Y",
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', "%b %d, %Y", "%d %b %Y", "%d %b, %Y", "%B %d %Y",
'%B %d, %Y', '%d %B %Y', '%d %B, %Y' "%B %d, %Y", "%d %B %Y", "%d %B, %Y"
) )
# Authentication settings (only for django admin)
AUTHENTICATION_BACKENDS = ( AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', # default "django.contrib.auth.backends.ModelBackend", # default
) )
ANONYMOUS_USER_ID = -1 ANONYMOUS_USER_ID = -1
GRAPPELLI_INDEX_DASHBOARD = "taiga.dashboard.CustomIndexDashboard"
GRAPPELLI_INDEX_DASHBOARD = 'taiga.dashboard.CustomIndexDashboard'
MAX_SEARCH_RESULTS = 100 MAX_SEARCH_RESULTS = 100
# FIXME: this seems not be used by any module
API_LIMIT_PER_PAGE = 0
REST_FRAMEWORK = { REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': ( "DEFAULT_AUTHENTICATION_CLASSES": (
'taiga.base.auth.Token', # Mainly used by taiga-front
'taiga.base.auth.Session', "taiga.base.auth.Token",
# Mainly used for api debug.
"taiga.base.auth.Session",
), ),
'FILTER_BACKEND': 'taiga.base.filters.FilterBackend', "FILTER_BACKEND": "taiga.base.filters.FilterBackend",
'EXCEPTION_HANDLER': 'taiga.base.exceptions.exception_handler', "EXCEPTION_HANDLER": "taiga.base.exceptions.exception_handler",
'PAGINATE_BY': 30, "PAGINATE_BY": 30,
'MAX_PAGINATE_BY': 1000, "MAX_PAGINATE_BY": 1000,
} }
@ -306,7 +281,7 @@ REST_FRAMEWORK = {
TEST_RUNNER="django.test.runner.DiscoverRunner" TEST_RUNNER="django.test.runner.DiscoverRunner"
# Test conditions # Test conditions
if 'test' in sys.argv: if "test" in sys.argv:
if "settings" not in ",".join(sys.argv): if "settings" not in ",".join(sys.argv):
print ("\033[1;91mNot settings specified.\033[0m") print ("\033[1;91mNot settings specified.\033[0m")
print ("Try: \033[1;33mpython manage.py test --settings=" print ("Try: \033[1;33mpython manage.py test --settings="