1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import os.path
27
28 from django.conf import settings
29 from django.conf.urls.defaults import *
30 from django.views.static import serve
31 from django.contrib.staticfiles.urls import staticfiles_urlpatterns
32
33 from django.core.urlresolvers import reverse
34 from django.utils.functional import lazy
35 from django.http import HttpResponse
36 from django.views.generic import RedirectView
37
38
39 handler404 = "omeroweb.feedback.views.handler404"
40 handler500 = "omeroweb.feedback.views.handler500"
41
42 reverse_lazy = lazy(reverse, str)
43
45 """
46 Helper function to return a URL pattern for index page http://host/.
47 """
48 if settings.INDEX_TEMPLATE is None:
49 return patterns('', url(r'^$', RedirectView.as_view(url=reverse_lazy('webindex')), name="index" ))
50 else:
51 return patterns('', url( r'^$', 'omeroweb.webstart.views.index', name="index" ),)
52
53
54
55
56 urlpatterns = patterns('',
57
58 (r'^favicon\.ico$', 'django.views.generic.simple.redirect_to', {'url': '%swebgateway/img/ome.ico' % settings.STATIC_URL}),
59
60 (r'(?i)^webgateway/', include('omeroweb.webgateway.urls')),
61 (r'(?i)^webadmin/', include('omeroweb.webadmin.urls')),
62 (r'(?i)^webclient/', include('omeroweb.webclient.urls')),
63 (r'(?i)^webstart/', include('omeroweb.webstart.urls')),
64
65 (r'(?i)^url/', include('omeroweb.webredirect.urls')),
66 (r'(?i)^feedback/', include('omeroweb.feedback.urls')),
67
68 (r'(?i)^webtest/', include('omeroweb.webtest.urls')),
69
70 )
71
72 urlpatterns += redirect_urlpatterns()
73
74 for app in settings.ADDITIONAL_APPS:
75
76
77 if 'omeroweb.%s' % app in settings.INSTALLED_APPS:
78 urlmodule = 'omeroweb.%s.urls' % app
79 else:
80 urlmodule = '%s.urls' % app
81 regex = '(?i)^%s/' % app
82 urlpatterns += patterns('', (regex, include(urlmodule)),)
83
84 if settings.DEBUG:
85 urlpatterns += staticfiles_urlpatterns()
86