Package omeroweb :: Module urls
[hide private]
[frames] | no frames]

Source Code for Module omeroweb.urls

 1  #!/usr/bin/env python 
 2  # -*- coding: utf-8 -*- 
 3  #  
 4  #  
 5  #  
 6  # Copyright (c) 2008 University of Dundee.  
 7  #  
 8  # This program is free software: you can redistribute it and/or modify 
 9  # it under the terms of the GNU Affero General Public License as 
10  # published by the Free Software Foundation, either version 3 of the 
11  # License, or (at your option) any later version. 
12  #  
13  # This program is distributed in the hope that it will be useful, 
14  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
15  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
16  # GNU Affero General Public License for more details. 
17  #  
18  # You should have received a copy of the GNU Affero General Public License 
19  # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
20  #  
21  # Author: Aleksandra Tarkowska <A(dot)Tarkowska(at)dundee(dot)ac(dot)uk>, 2008. 
22  #  
23  # Version: 1.0 
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  # error handler 
39  handler404 = "omeroweb.feedback.views.handler404" 
40  handler500 = "omeroweb.feedback.views.handler500" 
41   
42  reverse_lazy = lazy(reverse, str)  
43   
44 -def redirect_urlpatterns():
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 # url patterns 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 # Depending on how we added the app to INSTALLED_APPS in settings.py, 76 # include the urls the same way 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