Un peu plus de PEP8
[auf_recipe_django.git] / auf / recipe / django / boilerplate.py
CommitLineData
4be9d9da 1# -*- encoding: utf-8 -*-
dd501324 2
19d7fb26
OL
3import zc.buildout.easy_install
4
5
6env = '''
7%(relative_paths_setup)s
8import sys
19d7fb26
OL
9
10eggs_path = [
11 %(path)s,
12 ]
13
14sys.path[0:0] = eggs_path
15
c7a67069
OL
16import pkg_resources
17
19d7fb26
OL
18# correction des namespaces virtuels
19for egg_path in eggs_path:
20 pkg_resources.fixup_namespace_packages(egg_path)
21%(initialization)s
22import %(module_name)s
23'''
24
25auf_buildout_file = zc.buildout.easy_install.script_header + env + '''\
26if __name__ == '__main__':
27 %(module_name)s.%(attrs)s(%(arguments)s)
28'''
29
30auf_script_template = {
31 'wsgi': env + """
32application = %(module_name)s.%(attrs)s(%(arguments)s)
33""",
34 'fcgi': env + """
35%(module_name)s.%(attrs)s(%(arguments)s)
36""",
37}
38
4be9d9da 39
f0e41374 40###############################################################################
4be9d9da 41# SETTINGS
f0e41374 42###############################################################################
4be9d9da
OL
43
44conf_file = '''# -*- encoding: utf-8 -*
45
ac55c31f
EMS
46SECRET_KEY = ''
47
05129f35
OL
48DATABASES = {
49 'default': {
50 #'ENGINE': 'django.db.backends.mysql',
51 'ENGINE': 'django.db.backends.sqlite3',
52 'NAME': 'db.sqlite',
53 'USER': '',
54 'PASSWORD': '',
ea85f9ba
EMS
55 'HOST': '',
56 'PORT': '',
05129f35
OL
57 }
58}
4be9d9da
OL
59'''
60
f0e41374 61dashboard_file = '''# -*- encoding: utf-8 -*
4be9d9da 62
4be9d9da
OL
63from django.utils.translation import ugettext_lazy as _
64from django.core.urlresolvers import reverse
65
66from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
67from admin_tools.utils import get_admin_site_name
68
69
70class CustomIndexDashboard(Dashboard):
71 """
05129f35 72 Custom index dashboard
4be9d9da
OL
73 """
74 def init_with_context(self, context):
75 site_name = get_admin_site_name(context)
76
77 # append an app list module for "Applications"
78 self.children.append(modules.AppList(
79 _('Applications'),
80 exclude=('django.contrib.*',),
81 ))
82
83 # append an app list module for "Administration"
84 self.children.append(modules.AppList(
85 _('Administration'),
86 models=('django.contrib.*',),
87 ))
88
89 # append a recent actions module
90 self.children.append(modules.RecentActions(_('Recent Actions'), 5))
91'''
92
93
94auf_urls_template = '''# -*- encoding: utf-8 -*
f0e41374
EMS
95from django.conf.urls.defaults import \\
96 patterns, include, handler500, handler404, url
4be9d9da
OL
97from django.conf import settings
98from django.contrib import admin
99
100admin.autodiscover()
101
102handler404
103handler500 # Pyflakes
104
105urlpatterns = patterns(
106 '',
107 ######## page d'accueil de demo ######
108 (r'^$', 'auf.django.skin.views.demo'),
109 ######################################
110 url(r'^admin_tools/', include('admin_tools.urls')),
111 (r'^admin/', include(admin.site.urls)),
112 (r'^connexion/$', 'django.contrib.auth.views.login'),
113 (r'^deconnexion/$', 'django.contrib.auth.views.logout'),
114
115)
116
117if settings.DEBUG:
118 urlpatterns += patterns('',
119 (r'^media/(?P<path>.*)$', 'django.views.static.serve',
120 {'document_root': settings.MEDIA_ROOT}),
121 )
122'''
123
124auf_settings_template = '''# -*- encoding: utf-8 -*-
125
126import os
127import socket
ea85f9ba
EMS
128from django.conf.global_settings import \\
129 TEMPLATE_CONTEXT_PROCESSORS as DEFAULT_TEMPLATE_CONTEXT_PROCESSORS
4be9d9da
OL
130
131# Rapports d'erreurs
4edf55b7 132SERVER_EMAIL = 'ne-pas-repondre@auf.org'
4be9d9da
OL
133EMAIL_SUBJECT_PREFIX = '[%(project_name)s - %%s] ' %% socket.gethostname()
134ADMINS = (
135 ('Équipe ARI-SI', 'developpeurs@ca.auf.org'),
136)
137
138MANAGERS = ADMINS
139
05129f35 140TIME_ZONE = 'America/Montreal'
4be9d9da
OL
141
142LANGUAGE_CODE = 'fr-ca'
143
75eeae4d 144PROJECT_ROOT = os.path.dirname(__file__)
8c098998 145SITE_ROOT = os.path.dirname(PROJECT_ROOT)
75eeae4d
OL
146
147MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
4be9d9da
OL
148MEDIA_URL = '/media/'
149
8c098998 150STATIC_ROOT = os.path.join(SITE_ROOT, 'sitestatic')
05129f35 151STATIC_URL = '/static/'
4be9d9da 152
4be9d9da
OL
153ROOT_URLCONF = '%(urlconf)s'
154
4be9d9da
OL
155INSTALLED_APPS = (
156 'auf.django.skin',
157 'admin_tools',
158 'admin_tools.theming',
159 'admin_tools.menu',
160 'admin_tools.dashboard',
161 'django.contrib.auth',
162 'django.contrib.contenttypes',
163 'django.contrib.sessions',
164 'django.contrib.admin',
05129f35 165 'django.contrib.staticfiles',
4be9d9da
OL
166 'south',
167)
168
05129f35
OL
169TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_TEMPLATE_CONTEXT_PROCESSORS + (
170 'django.core.context_processors.static',
4be9d9da
OL
171 'django.core.context_processors.request',
172 'auf.django.skin.context_processors.auf',
173)
174
4be9d9da
OL
175TEMPLATE_DIRS = (
176 os.path.join(os.path.dirname(__file__), "templates"),
177)
178
179SOUTH_TESTS_MIGRATE = False
180
181ADMIN_TOOLS_INDEX_DASHBOARD = 'project.dashboard.CustomIndexDashboard'
182
f0e41374 183from conf import * # NOQA
4be9d9da
OL
184'''
185
f0e41374 186###############################################################################
4be9d9da 187# DEVELOPPEMENT
f0e41374 188###############################################################################
4be9d9da
OL
189auf_development_settings = '''# -*- encoding: utf-8 -*-
190
f0e41374
EMS
191from %(project)s.settings import * # NOQA
192DEBUG = True
193TEMPLATE_DEBUG = DEBUG
4be9d9da
OL
194
195# Décommentez ces lignes pour activer la debugtoolbar
196#INTERNAL_IPS = ('127.0.0.1',)
197#INSTALLED_APPS += ('debug_toolbar',)
198#MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
199
200AUTH_PASSWORD_REQUIRED = False
201'''
202
f0e41374 203###############################################################################
4be9d9da 204# PRODUCTION
f0e41374 205###############################################################################
4be9d9da
OL
206auf_production_settings = ''' # -*- encoding: utf-8 -*-
207
208# En production, rediriger la sortie terminal on disponible en WSGI
209# vers la sortie fichier errorlog.
210import sys
211sys.stdout = sys.stderr
212
f0e41374 213from %(project)s.settings import * # NOQA
4be9d9da 214'''