X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/f6c830bdcee1a786b16e8c3b4eabfd504461745d..23025f539214ffbd82a597d4a1d70808d6e59f31:/wolnelektury/settings.py diff --git a/wolnelektury/settings.py b/wolnelektury/settings.py index 95c9bf319..7f22b0ce6 100644 --- a/wolnelektury/settings.py +++ b/wolnelektury/settings.py @@ -21,16 +21,16 @@ DATABASES = { '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 @@ -47,6 +47,8 @@ LANGUAGES = tuple(sorted([ ('ru', u'русский'), ('es', u'español'), ('uk', u'українська'), + ('jp', u'日本語'), + ('it', u'italiano'), ], key=lambda x: x[0])) @@ -58,8 +60,9 @@ USE_I18N = True # Absolute path to the directory that holds media. # Example: "/home/media/media.lawrence.com/" -MEDIA_ROOT = path.join(PROJECT_DIR, '../media') -STATIC_ROOT = path.join(PROJECT_DIR, 'static') +MEDIA_ROOT = path.join(PROJECT_DIR, '../media/') +STATIC_ROOT = path.join(PROJECT_DIR, 'static/') +SEARCH_INDEX = path.join(MEDIA_ROOT, 'search/') # 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). @@ -76,29 +79,35 @@ ADMIN_MEDIA_PREFIX = '/admin-media/' # List of callables that know how to import templates from various sources. 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.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', ] -TEMPLATE_CONTEXT_PROCESSORS = [ - 'django.core.context_processors.auth', +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.contrib.auth.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', -] + 'search.context_processors.search_form', + "allauth.context_processors.allauth", + "allauth.account.context_processors.account", +) 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' @@ -107,96 +116,231 @@ TEMPLATE_DIRS = [ path.join(PROJECT_DIR, 'templates'), ] + +AUTHENTICATION_BACKENDS = [ + 'django.contrib.auth.backends.ModelBackend', + 'allauth.account.auth_backends.AuthenticationBackend', +] +EMAIL_CONFIRMATION_DAYS = 2 LOGIN_URL = '/uzytkownicy/zaloguj/' 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', + + #allauth stuff + 'emailconfirmation', + 'uni_form', + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + 'allauth.openid', + #'allauth.facebook', + #'allauth.twitter', + + # included 'compress', 'modeltranslation', - 'catalogue', - 'lessons', - 'piston', + + # our + 'ajaxable', 'api', - 'rosetta', + 'catalogue', + 'chunks', + 'dictionary', 'infopages', - 'suggest', 'lesmianator', + 'lessons', + 'newtagging', 'opds', + 'pdcounter', + 'reporting', + 'sponsors', + 'stats', + 'suggest', + 'picture', + 'search', + 'social', ] -CACHE_BACKEND = 'locmem:///?max_entries=3000' +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'LOCATION': [ + '127.0.0.1:11211', + ] + }, + 'permanent': { + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'TIMEOUT': 2419200, + 'LOCATION': [ + '127.0.0.1:11211', + ] + }, + 'api': { + 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', + 'LOCATION': path.join(PROJECT_DIR, 'django_cache/'), + 'KEY_PREFIX': 'api', + 'TIMEOUT': 86400, + }, +} +CACHE_MIDDLEWARE_ANONYMOUS_ONLY=True # 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',), + #'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/master.plain.css', 'css/facelist_2-0.css',), + 'source_filenames': [ + 'css/jquery.countdown.css', + + 'css/base.css', + 'css/cite.css', + 'css/header.css', + 'css/main_page.css', + 'css/dialogs.css', + 'css/picture_box.css', + 'css/book_box.css', + 'css/catalogue.css', + 'css/sponsors.css', + 'css/logo.css', + + 'css/social/shelf_tags.css', + 'css/ui-lightness/jquery-ui-1.8.16.custom.css', + ], 'output_filename': 'css/all.min?.css', }, + 'screen': { + 'source_filenames': ['css/screen.css'], + 'output_filename': ['css/screen.min?.css'], + 'extra_context': { + 'media': 'screen and (min-width: 800px)', + }, + }, + 'ie': { + 'source_filenames': [ + 'css/ie.css', + ], + 'output_filename': 'css/ie.min?.css', + }, 'book': { - 'source_filenames': ('css/master.book.css',), + 'source_filenames': [ + 'css/logo.css', + 'css/master.book.css', + ], 'output_filename': 'css/book.min?.css', - } + }, + 'player': { + 'source_filenames': [ + 'jplayer/jplayer.blue.monday.css', + 'css/player.css', + ], + 'output_filename': 'css/player.min?.css', + }, + 'simple': { + 'source_filenames': ('css/simple.css',), + 'output_filename': 'css/simple.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', + 'base': { + 'source_filenames': ( + 'js/jquery.cycle.min.js', + 'js/jquery.jqmodal.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-ui-1.8.16.custom.min.js', + + 'js/locale.js', + 'js/dialogs.js', + 'js/sponsors.js', + 'js/base.js', + 'js/pdcounter.js', + + 'js/search.js', ), - 'output_filename': 'js/all?.min.js', + 'output_filename': 'js/base?.min.js', + }, + 'player': { + 'source_filenames': [ + 'jplayer/jquery.jplayer.min.js', + 'jplayer/jplayer.playlist.min.js', + 'js/player.js', + ], + 'output_filename': 'js/player.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 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" + +# 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 = True +NO_SEARCH_INDEX = False + +ALL_EPUB_ZIP = 'wolnelektury_pl_epub' +ALL_PDF_ZIP = 'wolnelektury_pl_pdf' +ALL_MOBI_ZIP = 'wolnelektury_pl_mobi' + +CATALOGUE_DEFAULT_LANGUAGE = 'pol' +PUBLISH_PLAN_FEED = 'http://redakcja.wolnelektury.pl/documents/track/editor-proofreading/' + +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 = "/" + +CELERY_EAGER_PROPAGATES_EXCEPTIONS = True + # Load localsettings, if they exist try: from localsettings import *