88141489c738f1f888b7e2d11a5379dda4e193ed
[redakcja.git] / platforma / settings.py
1 # -*- coding: utf-8 -*-
2 import os.path
3
4 PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
5
6 DEBUG = False
7 TEMPLATE_DEBUG = DEBUG
8
9 MAINTENANCE_MODE = False
10
11 ADMINS = (
12     # (u'Marek Stępniowski', 'marek@stepniowski.com'),
13     (u'Łukasz Rekucki', 'lrekucki@gmail.com'),
14 )
15
16 MANAGERS = ADMINS
17
18 DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
19 DATABASE_NAME = PROJECT_ROOT + '/dev.sqlite'             # Or path to database file if using sqlite3.
20 DATABASE_USER = ''             # Not used with sqlite3.
21 DATABASE_PASSWORD = ''         # Not used with sqlite3.
22 DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
23 DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
24
25 # Local time zone for this installation. Choices can be found here:
26 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
27 # although not all choices may be available on all operating systems.
28 # If running in a Windows environment this must be set to the same as your
29 # system time zone.
30 TIME_ZONE = 'Europe/Warsaw Poland'
31
32 # Language code for this installation. All choices can be found here:
33 # http://www.i18nguy.com/unicode/language-identifiers.html
34 LANGUAGE_CODE = 'pl'
35
36 #import locale
37 #locale.setlocale(locale.LC_ALL, '')
38
39 SITE_ID = 1
40
41 # If you set this to False, Django will make some optimizations so as not
42 # to load the internationalization machinery.
43 USE_I18N = True
44
45 # Absolute path to the directory that holds media.
46 # Example: "/home/media/media.lawrence.com/"
47 MEDIA_ROOT = PROJECT_ROOT + '/media/'
48 STATIC_ROOT = PROJECT_ROOT + '/static/'
49
50 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
51 # trailing slash if there is a path component (optional in other cases).
52 # Examples: "http://media.lawrence.com", "http://example.com/media/"
53 MEDIA_URL = '/media/'
54 STATIC_URL = '/static/'
55
56 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
57 # trailing slash.
58 # Examples: "http://foo.com/media/", "/media/".
59 ADMIN_MEDIA_PREFIX = '/admin-media/'
60
61 # Make this unique, and don't share it with anybody.
62 SECRET_KEY = 'ife@x^_lak+x84=lxtr!-ur$5g$+s6xt85gbbm@e_fk6q3r8=+'
63
64 # List of callables that know how to import templates from various sources.
65 TEMPLATE_LOADERS = (
66     'django.template.loaders.filesystem.load_template_source',
67     'django.template.loaders.app_directories.load_template_source',
68 #     'django.template.loaders.eggs.load_template_source',
69 )
70
71 TEMPLATE_CONTEXT_PROCESSORS = (
72     "django.core.context_processors.auth",
73     "django.core.context_processors.debug",
74     "django.core.context_processors.i18n",
75     "platforma.context_processors.settings",
76     "django.core.context_processors.request",
77 )
78
79
80 MIDDLEWARE_CLASSES = (
81     'django.middleware.common.CommonMiddleware',
82     'django.contrib.sessions.middleware.SessionMiddleware',
83
84     'django.contrib.auth.middleware.AuthenticationMiddleware',
85     'django_cas.middleware.CASMiddleware',
86
87     'django.middleware.doc.XViewMiddleware',    
88     'maintenancemode.middleware.MaintenanceModeMiddleware',
89     # 'debug_toolbar.middleware.DebugToolbarMiddleware' #
90 )
91
92 AUTHENTICATION_BACKENDS = (
93     'django.contrib.auth.backends.ModelBackend',
94     'django_cas.backends.CASBackend',
95 )
96
97 ROOT_URLCONF = 'urls'
98
99 TEMPLATE_DIRS = (
100     PROJECT_ROOT + '/templates',
101 )
102
103
104 #
105 # Central Auth System
106 #
107 ## Set this to where the CAS server lives 
108 # CAS_SERVER_URL = "http://cas.fnp.pl/
109 CAS_ADMIN_PREFIX = "/admin/"
110 CAS_LOGOUT_COMPLETELY = True
111
112 # CSS and JS files to compress
113 COMPRESS_CSS = {
114     'detail': {
115          'source_filenames': (
116             'css/master.css',
117             'css/gallery.css',  
118             'css/history.css', 
119             'css/summary.css',
120             'css/html.css',             
121             'css/jquery.autocomplete.css',
122             'css/dialogs.css',
123         ),
124         'output_filename': 'compressed/detail_styles_?.css',
125     },
126     'listing': {
127         'source_filenames': (
128             'css/filelist.css', 
129         ),             
130         'output_filename': 'compressed/listing_styles_?.css',
131      }
132 }
133  
134 COMPRESS_JS = {
135     # everything except codemirror
136     'detail': {
137         'source_filenames': (
138                 'js/jquery-1.4.2.min.js', 
139                 'js/jquery.autocomplete.js', 
140                 'js/jquery.blockui.js',
141                 'js/jquery.elastic.js',                
142                 'js/button_scripts.js',
143                 'js/slugify.js',
144                 
145                 # wiki scripts
146                 'js/wiki/wikiapi.js',
147                 'js/wiki/base.js',
148                 'js/wiki/xslt.js',
149                 
150                 # dialogs
151                 'js/wiki/save_dialog.js',
152                 
153                 # views
154                 'js/wiki/history_view.js',
155                 'js/wiki/summary_view.js',
156                 'js/wiki/source_editor.js',
157                 'js/wiki/wysiwyg_editor.js',
158                 'js/wiki/scan_gallery.js',                
159                 'js/wiki/diff_view.js',
160                 
161                 # bootstrap
162                 'js/wiki/main.js',
163         ),             
164         'output_filename': 'compressed/detail_scripts_?.js',
165      },
166     'listing': {
167         'source_filenames': (
168                 'js/jquery-1.4.2.min.js', 
169                 'js/slugify.js',                
170         ),             
171         'output_filename': 'compressed/listing_scripts_?.js',
172      }
173 }
174  
175 COMPRESS = True
176 COMPRESS_CSS_FILTERS = None
177 COMPRESS_JS_FILTERS = None
178 COMPRESS_AUTO = False
179 COMPRESS_VERSION = True
180 COMPRESS_VERSIONING = 'compress.versioning.hash.MD5Versioning'
181
182
183 INSTALLED_APPS = (
184     'django.contrib.auth',
185     'django.contrib.contenttypes',
186     'django.contrib.sessions',
187     'django.contrib.sites',
188     'django.contrib.admin',
189     'django.contrib.admindocs',
190
191     'django_nose',
192     'debug_toolbar',
193     
194     'compress',
195     'south',
196     'sorl.thumbnail',
197     'filebrowser',
198
199     'wiki',    
200     'toolbar',
201 )
202
203
204 #
205 # Nose tests
206 #
207
208 TEST_RUNNER = 'django_nose.run_tests'
209 TEST_MODULES = ('wiki', 'toolbar', 'vstorage')
210 NOSE_ARGS = (
211     '--tests=' + ','.join(TEST_MODULES),
212     '--cover-package=' + ','.join(TEST_MODULES),
213     '-d',
214     '--with-coverage',
215     '--with-doctest'
216 )
217
218
219 FILEBROWSER_URL_FILEBROWSER_MEDIA = STATIC_URL + 'filebrowser/'
220 FILEBROWSER_DIRECTORY = 'images/'
221 FILEBROWSER_ADMIN_VERSIONS = []
222 FILEBROWSER_VERSIONS_BASEDIR = 'thumbnails/'
223 FILEBROWSER_DEFAULT_ORDER = "path_relative"
224
225 # REPOSITORY_PATH = '/Users/zuber/Projekty/platforma/files/books'
226 IMAGE_DIR = 'images'
227
228 # Import localsettings file, which may override settings defined here
229 try:
230     from localsettings import *
231 except ImportError:
232     pass
233
234 try:
235     LOGGING_CONFIG_FILE 
236 except NameError:
237     LOGGING_CONFIG_FILE = os.path.join(PROJECT_ROOT, 'config', 
238                                 ('logging.cfg' if not DEBUG else 'logging.cfg.dev'))
239 try:
240     import logging
241     import logging.config
242     
243     logging.config.fileConfig(LOGGING_CONFIG_FILE)    
244 except ImportError, exc:
245     raise