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