Merge branch 'master' of git+ssh://github.com/fnp/wolnelektury
[wolnelektury.git] / wolnelektury / settings.py
1 # Django settings for wolnelektury project.
2 from os import path
3
4 PROJECT_DIR = path.abspath(path.dirname(__file__))
5
6 DEBUG = False
7 TEMPLATE_DEBUG = DEBUG
8
9 ADMINS = [
10     # ('Your Name', 'your_email@domain.com'),
11 ]
12
13 MANAGERS = ADMINS
14
15 DATABASE_ENGINE = 'sqlite3'    # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
16 DATABASE_NAME = path.join(PROJECT_DIR, 'dev.db')  # Or path to database file if using sqlite3.
17 DATABASE_USER = ''             # Not used with sqlite3.
18 DATABASE_PASSWORD = ''         # Not used with sqlite3.
19 DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
20 DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
21
22 # Local time zone for this installation. Choices can be found here:
23 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
24 # although not all choices may be available on all operating systems.
25 # If running in a Windows environment this must be set to the same as your
26 # system time zone.
27 TIME_ZONE = 'Europe/Warsaw Poland'
28
29 # Language code for this installation. All choices can be found here:
30 # http://www.i18nguy.com/unicode/language-identifiers.html
31 LANGUAGE_CODE = 'pl'
32
33 gettext = lambda s: s
34
35 LANGUAGES = (
36     ('de', gettext('German')),
37     ('en', gettext('English')),
38     ('pl', gettext('Polish')),
39     ('lt', gettext('Lithuanian')),
40     ('fr', gettext('French')),
41     ('ru', gettext('Russian')),
42     ('es', gettext('Spain')),        
43 )
44
45
46 SITE_ID = 1
47
48 # If you set this to False, Django will make some optimizations so as not
49 # to load the internationalization machinery.
50 USE_I18N = True
51
52 # Absolute path to the directory that holds media.
53 # Example: "/home/media/media.lawrence.com/"
54 MEDIA_ROOT = path.join(PROJECT_DIR, '../media')
55 STATIC_ROOT = path.join(PROJECT_DIR, 'static')
56
57 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
58 # trailing slash if there is a path component (optional in other cases).
59 # Examples: "http://media.lawrence.com", "http://example.com/media/"
60 MEDIA_URL = '/media/'
61 STATIC_URL = '/static/'
62
63 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
64 # trailing slash.
65 # Examples: "http://foo.com/media/", "/media/".
66 ADMIN_MEDIA_PREFIX = '/admin-media/'
67
68 # Make this unique, and don't share it with anybody.
69
70 # List of callables that know how to import templates from various sources.
71 TEMPLATE_LOADERS = [
72     'django.template.loaders.filesystem.load_template_source',
73     'django.template.loaders.app_directories.load_template_source',
74 #     'django.template.loaders.eggs.load_template_source',
75 ]
76
77 TEMPLATE_CONTEXT_PROCESSORS = [
78     'django.core.context_processors.auth',
79     'django.core.context_processors.debug',
80     'django.core.context_processors.i18n',
81     'django.core.context_processors.media',
82     'django.core.context_processors.request',
83     'wolnelektury.context_processors.extra_settings',
84 ]
85
86 MIDDLEWARE_CLASSES = [
87     'django.middleware.common.CommonMiddleware',
88     'django.contrib.sessions.middleware.SessionMiddleware',
89     'django.contrib.auth.middleware.AuthenticationMiddleware',
90     'django.middleware.doc.XViewMiddleware',
91     'pagination.middleware.PaginationMiddleware',
92     'django.middleware.locale.LocaleMiddleware',
93 ]
94
95 ROOT_URLCONF = 'wolnelektury.urls'
96
97 TEMPLATE_DIRS = [
98     path.join(PROJECT_DIR, 'templates'),
99 ]
100
101 LOGIN_URL = '/uzytkownicy/zaloguj/'
102
103 LOGIN_REDIRECT_URL = '/'
104
105 INSTALLED_APPS = [
106     # included
107     'django.contrib.auth',
108     'django.contrib.contenttypes',
109     'django.contrib.sessions',
110     'django.contrib.sites',
111     'django.contrib.admin',
112     'django.contrib.admindocs',
113
114     # external
115     'south',
116     'sorl.thumbnail',
117     'sponsors',
118     'newtagging',
119     'pagination',
120     'chunks',
121     'compress',
122     'catalogue',
123     'lessons',
124     'piston',
125     'api',
126     'rosetta',
127 ]
128
129 CACHE_BACKEND = 'locmem:///?max_entries=3000'
130
131 # CSS and JavaScript file groups
132 COMPRESS_CSS = {
133     'all': {
134         'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/jquery.countdown.css', 'css/master.plain.css', 'css/sponsors.css',),
135         'output_filename': 'css/all.min?.css',
136     },
137     'book': {
138         'source_filenames': ('css/master.book.css',),
139         'output_filename': 'css/book.min?.css',
140     }
141 }
142
143 COMPRESS_JS = {
144     'jquery': {
145         'source_filenames': ('js/jquery.js',),
146         'output_filename': 'js/jquery.min.js',
147     },
148     'all': {
149         'source_filenames': ('js/jquery.autocomplete.js', 'js/jquery.form.js', 
150             'js/jquery.countdown.js', 'js/jquery.countdown-pl.js', 
151             'js/jquery.countdown-de.js',
152             'js/jquery.countdown-es.js', 'js/jquery.countdown-lt.js',
153             'js/jquery.countdown-ru.js', 'js/jquery.countdown-fr.js',
154             'js/jquery.jqmodal.js', 'js/jquery.labelify.js', 'js/catalogue.js',
155             'js/jquery.cookie.js',),
156         'output_filename': 'js/all?.min.js',
157     },
158     'book': {
159         'source_filenames': ('js/jquery.eventdelegation.js', 'js/jquery.scrollto.js', 'js/jquery.highlightfade.js', 'js/book.js',),
160         'output_filename': 'js/book?.min.js',
161     }
162 }
163
164 COMPRESS_VERSION = True
165 COMPRESS_CSS_FILTERS = None
166
167 THUMBNAIL_QUALITY = 95
168 THUMBNAIL_EXTENSION = 'png'
169
170 THUMBNAIL_PROCESSORS = (
171     # Default processors
172     'sorl.thumbnail.processors.colorspace',
173     'sorl.thumbnail.processors.autocrop',
174     'sorl.thumbnail.processors.scale_and_crop',
175     'sorl.thumbnail.processors.filters',
176     # Custom processors
177     'sponsors.processors.add_padding',
178 )
179
180 # Load localsettings, if they exist
181 try:
182     from localsettings import *
183 except ImportError:
184     pass
185