Fix for a bug introduced in refactoring: customized pdfs were instantly deleted,...
[wolnelektury.git] / wolnelektury / settings.py
index 6b7d333..45dfe37 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # Django settings for wolnelektury project.
 from os import path
 
@@ -5,6 +6,7 @@ PROJECT_DIR = path.abspath(path.dirname(__file__))
 
 DEBUG = False
 TEMPLATE_DEBUG = DEBUG
+MAINTENANCE_MODE = False
 
 ADMINS = [
     # ('Your Name', 'your_email@domain.com'),
@@ -12,24 +14,42 @@ ADMINS = [
 
 MANAGERS = ADMINS
 
-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_PORT = ''             # Set to empty string for default. Not used with sqlite3.
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME': path.join(PROJECT_DIR, 'dev.db'), # 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.
+    }
+}
 
 # 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 = 'Europe/Warsaw Poland'
+TIME_ZONE = 'Europe/Warsaw'
 
 # 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', u'polski'),
+    ('de', u'Deutsch'),
+    ('en', u'English'),
+    ('lt', u'lietuvių'),
+    ('fr', u'français'),
+    ('ru', u'русский'),
+    ('es', u'español'),
+    ('uk', u'українська'),
+], key=lambda x: x[0]))
+
+
 SITE_ID = 1
 
 # If you set this to False, Django will make some optimizations so as not
@@ -61,20 +81,27 @@ TEMPLATE_LOADERS = [
 #     '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',
-]
+    'wolnelektury.context_processors.extra_settings',
+)
 
 MIDDLEWARE_CLASSES = [
+    'django.middleware.cache.UpdateCacheMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.middleware.doc.XViewMiddleware',
     'pagination.middleware.PaginationMiddleware',
+    'django.middleware.locale.LocaleMiddleware',
+    'piwik.django.middleware.PiwikMiddleware',
+    'maintenancemode.middleware.MaintenanceModeMiddleware',
+    'django.middleware.common.CommonMiddleware',
+    'django.middleware.cache.FetchFromCacheMiddleware',
 ]
 
 ROOT_URLCONF = 'wolnelektury.urls'
@@ -83,45 +110,67 @@ TEMPLATE_DIRS = [
     path.join(PROJECT_DIR, 'templates'),
 ]
 
-LOGIN_URL = '/uzytkownicy/zaloguj/'
+LOGIN_URL = '/uzytkownicy/login/'
 
 LOGIN_REDIRECT_URL = '/'
 
 INSTALLED_APPS = [
-    # included
+    # external
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.admin',
     'django.contrib.admindocs',
-    
-    # external
+    'pagination',
+    'piston',
+    'piwik.django',
+    'rosetta',
     'south',
     'sorl.thumbnail',
-    'sponsors',
-    'newtagging',
-    'pagination',
-    'chunks',
+    'djcelery',
+    'djkombu',
+    #    'django_nose',
+
+    # included
     'compress',
+    'modeltranslation',
+
+    # our
+    'api',
     'catalogue',
+    'chunks',
+    'dictionary',
+    'infopages',
+    'lesmianator',
     'lessons',
-    'piston',
-    'api',
+    'newtagging',
+    'opds',
+    'pdcounter',
+    'reporting',
+    'sponsors',
+    'stats',
+    'suggest',
 ]
 
-CACHE_BACKEND = 'locmem:///?max_entries=3000'
+#CACHE_BACKEND = 'locmem:///?max_entries=3000'
+CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
+CACHE_MIDDLEWARE_ANONYMOUS_ONLY=True
 
 # CSS and JavaScript file groups
 COMPRESS_CSS = {
     'all': {
-        'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/master.plain.css', 'css/sponsors.css',),
+        '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',
-    }
+    },
+    'simple': {
+        'source_filenames': ('css/simple.css',),
+        'output_filename': 'css/simple.min?.css',
+    },
 }
 
 COMPRESS_JS = {
@@ -130,15 +179,25 @@ COMPRESS_JS = {
         'output_filename': 'js/jquery.min.js',
     },
     'all': {
-        'source_filenames': ('js/jquery.autocomplete.js', 'js/jquery.form.js', 
+        '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.cycle.min.js',
             'js/jquery.jqmodal.js', 'js/jquery.labelify.js', 'js/catalogue.js',
-            'js/jquery.cookie.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',
+    },
+    'book_ie': {
+        'source_filenames': ('js/ierange-m2.js',),
+        'output_filename': 'js/book_ie?.min.js',
     }
+
 }
 
 COMPRESS_VERSION = True
@@ -157,6 +216,37 @@ THUMBNAIL_PROCESSORS = (
     'sponsors.processors.add_padding',
 )
 
+TRANSLATION_REGISTRY = "wolnelektury.translation"
+
+
+# seconds until a changes appears in the changes api
+API_WAIT = 10
+
+# limit number of filtering tags
+MAX_TAG_LIST = 6
+
+NO_BUILD_EPUB = False
+NO_BUILD_TXT = False
+NO_BUILD_PDF = False
+NO_BUILD_MOBI = False
+
+ALL_EPUB_ZIP = 'wolnelektury_pl_epub'
+ALL_PDF_ZIP = 'wolnelektury_pl_pdf'
+ALL_MOBI_ZIP = 'wolnelektury_pl_mobi'
+
+PAGINATION_INVALID_PAGE_RAISES_404 = True
+
+import djcelery
+djcelery.setup_loader()
+
+BROKER_BACKEND = "djkombu.transport.DatabaseTransport"
+BROKER_HOST = "localhost"
+BROKER_PORT = 5672
+BROKER_USER = "guest"
+BROKER_PASSWORD = "guest"
+BROKER_VHOST = "/"
+
+
 # Load localsettings, if they exist
 try:
     from localsettings import *