description scroll fix, whitespace
[wolnelektury.git] / wolnelektury / settings.py
index c5b8d67..8a82221 100644 (file)
@@ -1,20 +1,20 @@
-# -*- coding: utf-8 -*-
 # Django settings for wolnelektury project.
 from os import path
 
 PROJECT_DIR = path.abspath(path.dirname(__file__))
 
 # Django settings for wolnelektury project.
 from os import path
 
 PROJECT_DIR = path.abspath(path.dirname(__file__))
 
-DEBUG = True
+DEBUG = False
 TEMPLATE_DEBUG = DEBUG
 TEMPLATE_DEBUG = DEBUG
+MAINTENANCE_MODE = False
 
 
-ADMINS = (
-    (u'Marek StÄ™pniowski', 'marek@stepniowski.com'),
-)
+ADMINS = [
+    # ('Your Name', 'your_email@domain.com'),
+]
 
 MANAGERS = ADMINS
 
 
 MANAGERS = ADMINS
 
-DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = path.join(PROJECT_DIR, 'lektury.sqlite')  # Or path to database file if using sqlite3.
+DATABASE_ENGINE = 'sqlite3'    # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+DATABASE_NAME = path.join(PROJECT_DIR, 'dev.db')  # Or path to database file if using sqlite3.
 DATABASE_USER = ''             # Not used with sqlite3.
 DATABASE_PASSWORD = ''         # Not used with sqlite3.
 DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
 DATABASE_USER = ''             # Not used with sqlite3.
 DATABASE_PASSWORD = ''         # Not used with sqlite3.
 DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
@@ -25,12 +25,26 @@ DATABASE_PORT = ''             # Set to empty string for default. Not used with
 # 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.
 # 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 = 'America/Chicago'
+TIME_ZONE = 'Europe/Warsaw Poland'
 
 # Language code for this installation. All choices can be found here:
 # http://www.i18nguy.com/unicode/language-identifiers.html
 LANGUAGE_CODE = 'pl'
 
 
 # Language code for this installation. All choices can be found here:
 # http://www.i18nguy.com/unicode/language-identifiers.html
 LANGUAGE_CODE = 'pl'
 
+gettext = lambda s: s
+
+LANGUAGES = tuple(sorted([
+    ('pl', gettext('Polish')),
+    ('de', gettext('German')),
+    ('en', gettext('English')),
+    ('lt', gettext('Lithuanian')),
+    ('fr', gettext('French')),
+    ('ru', gettext('Russian')),
+    ('es', gettext('Spanish')),
+    ('uk', gettext('Ukrainian')),
+], key=lambda x: x[0]))
+
+
 SITE_ID = 1
 
 # If you set this to False, Django will make some optimizations so as not
 SITE_ID = 1
 
 # If you set this to False, Django will make some optimizations so as not
@@ -39,12 +53,14 @@ USE_I18N = True
 
 # Absolute path to the directory that holds media.
 # Example: "/home/media/media.lawrence.com/"
 
 # Absolute path to the directory that holds media.
 # Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = PROJECT_DIR + '/media/'
+MEDIA_ROOT = path.join(PROJECT_DIR, '../media')
+STATIC_ROOT = path.join(PROJECT_DIR, 'static')
 
 # 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/"
 MEDIA_URL = '/media/'
 
 # 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/"
 MEDIA_URL = '/media/'
+STATIC_URL = '/static/'
 
 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
 # trailing slash.
 
 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
 # trailing slash.
@@ -54,19 +70,20 @@ ADMIN_MEDIA_PREFIX = '/admin-media/'
 # Make this unique, and don't share it with anybody.
 
 # List of callables that know how to import templates from various sources.
 # Make this unique, and don't share it with anybody.
 
 # List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
+TEMPLATE_LOADERS = [
     'django.template.loaders.filesystem.load_template_source',
     'django.template.loaders.app_directories.load_template_source',
 #     'django.template.loaders.eggs.load_template_source',
     'django.template.loaders.filesystem.load_template_source',
     'django.template.loaders.app_directories.load_template_source',
 #     'django.template.loaders.eggs.load_template_source',
-)
+]
 
 
-TEMPLATE_CONTEXT_PROCESSORS = (
+TEMPLATE_CONTEXT_PROCESSORS = [
     'django.core.context_processors.auth',
     'django.core.context_processors.debug',
     'django.core.context_processors.i18n',
     'django.core.context_processors.media',
     'django.core.context_processors.request',
     'django.core.context_processors.auth',
     'django.core.context_processors.debug',
     'django.core.context_processors.i18n',
     'django.core.context_processors.media',
     'django.core.context_processors.request',
-)
+    'wolnelektury.context_processors.extra_settings',
+]
 
 MIDDLEWARE_CLASSES = [
     'django.middleware.common.CommonMiddleware',
 
 MIDDLEWARE_CLASSES = [
     'django.middleware.common.CommonMiddleware',
@@ -74,50 +91,107 @@ MIDDLEWARE_CLASSES = [
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.middleware.doc.XViewMiddleware',
     'pagination.middleware.PaginationMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.middleware.doc.XViewMiddleware',
     'pagination.middleware.PaginationMiddleware',
-]
-
-# If DEBUG is enabled add query log to bottom of every template
-if DEBUG:
-    MIDDLEWARE_CLASSES.append('middleware.ProfileMiddleware')
+    'django.middleware.locale.LocaleMiddleware',
 
 
-ROOT_URLCONF = 'urls'
-
-TEMPLATE_DIRS = (
-    PROJECT_DIR + '/templates/'
-)
-
-# CSS and JS files to compress
-COMPRESS_CSS = {
-    'all': {
-        'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/master.plain.css',),
-        'output_filename': 'css/all.min.css',
-    }
-}
+    'maintenancemode.middleware.MaintenanceModeMiddleware',
+]
 
 
-COMPRESS_JS = {
-    'all': {
-        'source_filenames': ('js/jquery.js', 'js/jquery.autocolumn.js', 'js/jquery.autocomplete.js', 
-            'js/jquery.form.js', 'js/jquery.jqmodal.js', 'js/jquery.labelify.js', 'js/catalogue.js',),
-        'output_filename': 'js/all.min.js',
-    }
-}
+ROOT_URLCONF = 'wolnelektury.urls'
 
 
-COMPRESS_CSS_FILTERS = None
+TEMPLATE_DIRS = [
+    path.join(PROJECT_DIR, 'templates'),
+]
 
 LOGIN_URL = '/uzytkownicy/zaloguj/'
 
 LOGIN_REDIRECT_URL = '/'
 
 
 LOGIN_URL = '/uzytkownicy/zaloguj/'
 
 LOGIN_REDIRECT_URL = '/'
 
-INSTALLED_APPS = (
+INSTALLED_APPS = [
+    # included
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.admin',
+    'django.contrib.admindocs',
+
+    # external
+    'south',
+    'sorl.thumbnail',
+    'sponsors',
     'newtagging',
     'pagination',
     'chunks',
     'compress',
     'newtagging',
     'pagination',
     'chunks',
     'compress',
+    'modeltranslation',
     'catalogue',
     'catalogue',
+    'lessons',
+    'piston',
+    'api',
+    'rosetta',
+    'infopages',
+    'suggest',
+]
+
+CACHE_BACKEND = 'locmem:///?max_entries=3000'
+
+# CSS and JavaScript file groups
+COMPRESS_CSS = {
+    'all': {
+        'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/jquery.countdown.css', 'css/master.plain.css', 'css/sponsors.css', 'css/facelist_2-0.css',),
+        'output_filename': 'css/all.min?.css',
+    },
+    'book': {
+        'source_filenames': ('css/master.book.css',),
+        'output_filename': 'css/book.min?.css',
+    }
+}
+
+COMPRESS_JS = {
+    'jquery': {
+        'source_filenames': ('js/jquery.js',),
+        'output_filename': 'js/jquery.min.js',
+    },
+    'all': {
+        'source_filenames': ('js/jquery.autocomplete.js', 'js/jquery.form.js',
+            'js/jquery.countdown.js', 'js/jquery.countdown-pl.js',
+            'js/jquery.countdown-de.js', 'js/jquery.countdown-uk.js',
+            'js/jquery.countdown-es.js', 'js/jquery.countdown-lt.js',
+            'js/jquery.countdown-ru.js', 'js/jquery.countdown-fr.js',
+            'js/jquery.jqmodal.js', 'js/jquery.labelify.js', 'js/catalogue.js',
+            ),
+        'output_filename': 'js/all?.min.js',
+    },
+    'book': {
+        'source_filenames': ('js/jquery.eventdelegation.js', 'js/jquery.scrollto.js', 'js/jquery.highlightfade.js', 'js/book.js',),
+        'output_filename': 'js/book?.min.js',
+    }
+}
+
+COMPRESS_VERSION = True
+COMPRESS_CSS_FILTERS = None
+
+THUMBNAIL_QUALITY = 95
+THUMBNAIL_EXTENSION = 'png'
+
+THUMBNAIL_PROCESSORS = (
+    # Default processors
+    'sorl.thumbnail.processors.colorspace',
+    'sorl.thumbnail.processors.autocrop',
+    'sorl.thumbnail.processors.scale_and_crop',
+    'sorl.thumbnail.processors.filters',
+    # Custom processors
+    'sponsors.processors.add_padding',
 )
 
 )
 
+TRANSLATION_REGISTRY = "wolnelektury.translation"
+
+# limit number of filtering tags
+MAX_TAG_LIST = 6
+
+# Load localsettings, if they exist
+try:
+    from localsettings import *
+except ImportError:
+    pass
+