X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/21f878e8112cf1f9b732a6dbb77e70efa68a01aa..3e60c84451a6cf2a4ad803c3e05bd97a233e91ad:/wolnelektury/settings.py diff --git a/wolnelektury/settings.py b/wolnelektury/settings.py index bdbc9923b..be86f16c3 100644 --- a/wolnelektury/settings.py +++ b/wolnelektury/settings.py @@ -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,12 +14,16 @@ 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 @@ -30,6 +36,20 @@ TIME_ZONE = 'Europe/Warsaw Poland' # 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 @@ -38,12 +58,14 @@ USE_I18N = True # Absolute path to the directory that holds media. # Example: "/home/media/media.lawrence.com/" -MEDIA_ROOT = path.join(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/' +STATIC_URL = '/static/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a # trailing slash. @@ -65,6 +87,7 @@ TEMPLATE_CONTEXT_PROCESSORS = [ 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.request', + 'wolnelektury.context_processors.extra_settings', ] MIDDLEWARE_CLASSES = [ @@ -73,6 +96,9 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.doc.XViewMiddleware', 'pagination.middleware.PaginationMiddleware', + 'django.middleware.locale.LocaleMiddleware', + + 'maintenancemode.middleware.MaintenanceModeMiddleware', ] ROOT_URLCONF = 'wolnelektury.urls' @@ -93,14 +119,25 @@ INSTALLED_APPS = [ 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.admindocs', - + # external 'south', + 'sorl.thumbnail', + 'sponsors', 'newtagging', 'pagination', 'chunks', 'compress', + 'modeltranslation', 'catalogue', + 'lessons', + 'piston', + 'api', + 'rosetta', + 'infopages', + 'suggest', + 'lesmianator', + 'opds', ] CACHE_BACKEND = 'locmem:///?max_entries=3000' @@ -108,12 +145,12 @@ CACHE_BACKEND = 'locmem:///?max_entries=3000' # CSS and JavaScript file groups COMPRESS_CSS = { 'all': { - 'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/master.plain.css',), - 'output_filename': 'css/all.min.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', + 'output_filename': 'css/book.min?.css', } } @@ -123,18 +160,44 @@ COMPRESS_JS = { 'output_filename': 'js/jquery.min.js', }, 'all': { - 'source_filenames': ('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', + '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', + ), + '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', + '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 + +NO_BUILD_EPUB = False # Load localsettings, if they exist try: