PROJECT_DIR = path.abspath(path.dirname(__file__))
-DEBUG = True
+DEBUG = False
TEMPLATE_DEBUG = DEBUG
+MAINTENANCE_MODE = False
-ADMINS = (
- (u'Marek Stępniowski', 'marek@stepniowski.com'),
-)
+ADMINS = [
+ # ('Your Name', 'your_email@domain.com'),
+]
MANAGERS = ADMINS
-DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = 'wolnelektury' # Or path to database file if using sqlite3.
-DATABASE_USER = 'root' # 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 = 'America/Chicago'
+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
# 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/'
+STATIC_URL = '/static/'
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# 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',
-)
+]
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.auth',
'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',
+ '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',
]
-# If DEBUG is enabled add query log to bottom of every template
-if DEBUG:
- MIDDLEWARE_CLASSES.append('middleware.ProfileMiddleware')
+ROOT_URLCONF = 'wolnelektury.urls'
-ROOT_URLCONF = 'urls'
+TEMPLATE_DIRS = [
+ path.join(PROJECT_DIR, 'templates'),
+]
-TEMPLATE_DIRS = (
- PROJECT_DIR + '/templates/',
-)
+LOGIN_URL = '/uzytkownicy/login/'
+
+LOGIN_REDIRECT_URL = '/'
+
+INSTALLED_APPS = [
+ # external
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.sites',
+ 'django.contrib.admin',
+ 'django.contrib.admindocs',
+ 'pagination',
+ 'piston',
+ 'piwik.django',
+ 'rosetta',
+ 'south',
+ 'sorl.thumbnail',
+ 'djcelery',
+ 'djkombu',
+ # 'django_nose',
+
+ # included
+ 'compress',
+ 'modeltranslation',
+
+ # our
+ 'api',
+ 'catalogue',
+ 'chunks',
+ 'dictionary',
+ 'infopages',
+ 'lesmianator',
+ 'lessons',
+ 'newtagging',
+ 'opds',
+ 'pdcounter',
+ 'reporting',
+ 'sponsors',
+ 'stats',
+ 'suggest',
+]
+
+#CACHE_BACKEND = 'locmem:///?max_entries=3000'
+CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
+CACHE_MIDDLEWARE_ANONYMOUS_ONLY=True
-# CSS and JS files to compress
+# 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',
+ },
+ 'simple': {
+ 'source_filenames': ('css/simple.css',),
+ 'output_filename': 'css/simple.min?.css',
+ },
}
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',
+ },
+ 'book_ie': {
+ 'source_filenames': ('js/ierange-m2.js',),
+ 'output_filename': 'js/book_ie?.min.js',
}
+
}
+COMPRESS_VERSION = True
COMPRESS_CSS_FILTERS = None
-LOGIN_URL = '/uzytkownicy/zaloguj/'
-
-LOGIN_REDIRECT_URL = '/'
+THUMBNAIL_QUALITY = 95
+THUMBNAIL_EXTENSION = 'png'
-INSTALLED_APPS = (
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.sites',
- 'django.contrib.admin',
- 'django.contrib.admindocs',
- 'newtagging',
- 'pagination',
- 'chunks',
- 'compress',
- 'catalogue',
+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 = False
+
+ALL_EPUB_ZIP = 'wolnelektury_pl_epub'
+ALL_PDF_ZIP = 'wolnelektury_pl_pdf'
+ALL_MOBI_ZIP = 'wolnelektury_pl_mobi'
+
+CATALOGUE_DEFAULT_LANGUAGE = 'pol'
+
+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 *
+except ImportError:
+ pass
+