1 # Copyright 2011 GRNET S.A. All rights reserved.
3 # Redistribution and use in source and binary forms, with or
4 # without modification, are permitted provided that the following
7 # 1. Redistributions of source code must retain the above
8 # copyright notice, this list of conditions and the following
11 # 2. Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following
13 # disclaimer in the documentation and/or other materials
14 # provided with the distribution.
16 # THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 # POSSIBILITY OF SUCH DAMAGE.
29 # The views and conclusions contained in the software and
30 # documentation are those of the authors and should not be
31 # interpreted as representing official policies, either expressed
32 # or implied, of GRNET S.A.
34 # Django settings for pithos project.
37 PROJECT_PATH = os.path.dirname(os.path.abspath(__file__)) + '/'
40 TEMPLATE_DEBUG = DEBUG
45 # ('Your Name', 'your_email@domain.com'),
52 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
53 'NAME': PROJECT_PATH + 'pithos.db', # Or path to database file if using sqlite3.
54 'USER': '', # Not used with sqlite3.
55 'PASSWORD': '', # Not used with sqlite3.
56 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
57 'PORT': '', # Set to empty string for default. Not used with sqlite3.
61 # The backend modules to use and their initilization options.
64 #BACKEND_DB_MODULE = 'pithos.backends.lib.sqlite'
65 #BACKEND_DB_CONNECTION = os.path.join(PROJECT_PATH, 'backend.db')
67 # SQLAlchemy (choose SQLite/MySQL/PostgreSQL).
68 BACKEND_DB_MODULE = 'pithos.backends.lib.sqlalchemy'
69 BACKEND_DB_CONNECTION = 'sqlite:///' + os.path.join(PROJECT_PATH, 'backend.db')
70 #BACKEND_DB_CONNECTION = 'mysql://user:pass@host/db'
71 #BACKEND_DB_CONNECTION = 'postgresql://user:pass@host/db'
74 BACKEND_BLOCK_MODULE = 'pithos.backends.lib.hashfiler'
75 BACKEND_BLOCK_PATH = os.path.join(PROJECT_PATH, 'data/')
77 # Bypass authentication for user administration.
78 BYPASS_ADMIN_AUTH = False
80 # Local time zone for this installation. Choices can be found here:
81 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
82 # although not all choices may be available on all operating systems.
83 # On Unix systems, a value of None will cause Django to use the same
84 # timezone as the operating system.
85 # If running in a Windows environment this must be set to the same as your
89 # Language code for this installation. All choices can be found here:
90 # http://www.i18nguy.com/unicode/language-identifiers.html
91 LANGUAGE_CODE = 'en-us'
95 # If you set this to False, Django will make some optimizations so as not
96 # to load the internationalization machinery.
99 # If you set this to False, Django will not format dates, numbers and
100 # calendars according to the current locale
103 # Absolute filesystem path to the directory that will hold user-uploaded files.
104 # Example: "/home/media/media.lawrence.com/"
107 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
108 # trailing slash if there is a path component (optional in other cases).
109 # Examples: "http://media.lawrence.com", "http://example.com/media/"
112 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
114 # Examples: "http://foo.com/media/", "/media/".
115 ADMIN_MEDIA_PREFIX = '/media/'
117 # Make this unique, and don't share it with anybody.
118 SECRET_KEY = '$j0cdrfm*0sc2j+e@@2f-&3-_@2=^!z#+b-8o4_i10@2%ev7si'
120 # List of callables that know how to import templates from various sources.
122 'django.template.loaders.filesystem.Loader',
123 'django.template.loaders.app_directories.Loader',
124 # 'django.template.loaders.eggs.Loader',
127 MIDDLEWARE_CLASSES = (
128 'django.middleware.common.CommonMiddleware',
129 # 'django.contrib.sessions.middleware.SessionMiddleware',
130 # 'django.middleware.csrf.CsrfViewMiddleware',
131 # 'django.contrib.auth.middleware.AuthenticationMiddleware',
132 # 'django.contrib.messages.middleware.MessageMiddleware',
133 'pithos.middleware.URLEncodedHeadersMiddleware',
134 'pithos.middleware.LoggingConfigMiddleware',
135 'pithos.middleware.AuthMiddleware'
138 ROOT_URLCONF = 'pithos.urls'
141 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
142 # Always use forward slashes, even on Windows.
143 # Don't forget to use absolute paths, not relative paths.
147 # 'django.contrib.auth',
148 # 'django.contrib.contenttypes',
149 # 'django.contrib.sessions',
150 # 'django.contrib.sites',
151 # 'django.contrib.messages',
152 # 'django.contrib.admin',
153 # 'django.contrib.admindocs',
160 # Set the expiration time of newly created auth tokens
161 # to be this many hours after their creation time.
162 AUTH_TOKEN_DURATION = 30 * 24
164 # Default setting for new accounts.
165 DEFAULT_QUOTA = 50 * 1024 * 1024 * 1024
166 DEFAULT_VERSIONING = 'auto'
168 # Show these many users per page in admin interface.
169 ADMIN_PAGE_LIMIT = 100
171 # Authenticate via Twitter.
175 # Address to use for outgoing emails
176 DEFAULT_FROM_EMAIL = 'Pithos <no-reply@grnet.gr>'
177 DEFAULT_CONTACT_EMAIL = 'support@pithos.grnet.gr'
179 FEEDBACK_FROM_EMAIL = DEFAULT_FROM_EMAIL
180 FEEDBACK_CONTACT_EMAIL = DEFAULT_CONTACT_EMAIL
182 INVITATIONS_PER_LEVEL = {
190 SERVICE_NAME = 'Pithos'
192 # Where users should login with their invitation code
193 INVITATION_LOGIN_TARGET = '%s/im/login/invitation' \
197 # Where users should activate their local account
198 ACTIVATION_LOGIN_TARGET = '%s/im/local/activate/' \
202 # Where users should reset their local password
203 PASSWORD_RESET_TARGET = '%s/im/local/reset/' \
207 # The server is behind a proy (apache and gunicorn setup).
208 USE_X_FORWARDED_HOST = False
210 # Set umask (needed for gunicorn setup).
213 # Use to log to a file.
216 # Identity Management enabled modules
217 IM_STANDARD_MODULES = ['local', 'invitation']
218 IM_OTHER_MODULES = ['twitter', 'shibboleth']