#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2008-2016 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # See the file COPYING for details. from django.conf import settings from django.conf.urls.defaults import * from django.contrib import admin from django.core.exceptions import ImproperlyConfigured admin.autodiscover() from chimere.views import CategoryDirectoryView, CategoryView from chimere.feeds import LatestPOIsByCategory, LatestPOIsBySubCategory, \ LatestPOIs, LatestPOIsByZone, LatestPOIsByZoneID def i18n_javascript(request): return admin.site.i18n_javascript(request) urlpatterns = patterns( 'chimere.views', url(r'^(?P[a-zA-Z0-9_-]+/)?simple$', 'index', {'simple': True}, name="simple_index") ) if settings.CHIMERE_FEEDS: urlpatterns += patterns( '', url(r'^(?P[a-zA-Z0-9_-]+/)?feeds$', 'chimere.views.rss', name='feeds-form'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/category/' r'(?P\d+)$', LatestPOIsByCategory(), name='feeds-cat'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/subcategory/' r'(?P\d+)$', LatestPOIsBySubCategory(), name='feeds-subcat'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/global/$', LatestPOIs(), name='feeds-global'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/area/(?P[0-9-_.]+)$', LatestPOIsByZone(), name='feeds-area'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/areaid/(?P\d+)$', LatestPOIsByZoneID(), name='feeds-areaid'), ) if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') \ and settings.CHIMERE_ENABLE_ROUTING: if not hasattr(settings, 'CHIMERE_ROUTING_TRANSPORT') \ or not settings.CHIMERE_ROUTING_TRANSPORT: raise ImproperlyConfigured(u"CHIMERE_ROUTING_TRANSPORT must be set in" u" settings if you enable routing") urlpatterns += patterns( 'chimere.views', url(r'^(?P[a-zA-Z0-9_-]*/)?route/' r'(?P(%s))/((?P[0-9][0-9]*)/)?' r'(?P[-]?[0-9]+[.]?[0-9]*)_(?P[-]?[0-9]+[.]?[0-9]*)_' r'(?P([-]?[0-9]+[.]?[0-9]*_[-]?[0-9]+[.]?[0-9]*_)*)' r'(?P[-]?[0-9]+[.]?[0-9]*)_(?P[-]?[0-9]+[.]?[0-9]*)$' % ('|'.join([key for key, lbl in settings.CHIMERE_ROUTING_TRANSPORT])), 'route', name="route"), ) if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \ and settings.CHIMERE_SEARCH_ENGINE: from chimere.forms import SearchForm from chimere.views import SearchView from haystack.views import search_view_factory urlpatterns += patterns( 'chimere.views', url(r'^search/?$', search_view_factory( view_class=SearchView, template='search/search.html', form_class=SearchForm ), name='haystack_search'), url(r'^search/autocomplete/$', 'autocomplete', name='autocomplete-search') ) # urlpatterns += [url(r'^search/', include('haystack.urls')),] urlpatterns += patterns( 'chimere.views', url(r'^charte/?$', 'charte', name="charte"), url(r'^(?P[a-zA-Z0-9_-]+/)?contact/?$', 'contactus', name="contact"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit/$', 'edit', name="edit"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-marker/' r'(?P\w+)?$', 'editMarker', name="editmarker"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-marker/(?P\w+)/' r'(?P\w+)?$', 'editMarker', name="editmarker-item"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-route/$', 'editRoute', name="editroute"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-route/(?P\w+)/' r'(?P\w+)?$', 'editRoute', name="editroute-item"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-polygon/$', 'editPolygon', name="editpolygon"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-polygon/(?P\w+)/' r'(?P\w+)?$', 'editPolygon', name="editpolygon-item"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDetail/' r'(?P[a-zA-Z_-]*\d+)/?$', 'getDetail', name="get_detail"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDetail/popup/' r'(?P[a-zA-Z_-]*\d+)/?$', 'getDetail', {'popup': True}, name="get_detail"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDetail/undefined', 'getDetailUndefined', name="get_detail_undefined"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDescriptionDetail/' r'?(?P\d+)/?$', 'getDescriptionDetail', name="get_description_detail"), url(r'^(?P[a-zA-Z0-9_-]+/)?getGeoObjects/' r'(?P[a-zA-Z0-9_-]+)(/(?P\w+))?$', 'getGeoObjects', name="getgeoobjects"), url(r'^(?P[a-zA-Z0-9_-]+/)?get-marker/' r'(?P[0-9]+)$', 'getMarker', name="get-marker"), url(r'^(?P[a-zA-Z0-9_-]+/)?getAvailableCategories/$', 'get_available_categories', name="get_categories"), url(r'^(?P[a-zA-Z0-9_-]+/)?getAllCategories/$', 'get_all_categories', name="get_all_categories"), url(r'^(?P[a-zA-Z0-9_-]+/)?getCategory/(?P\d+)/?$', 'getCategory', name="get_category"), url(r'^(?P[a-zA-Z0-9_-]*/)?get-share-url/(?P\w+)?$', 'getShareUrl', name="get-share-url"), url(r'^(?P[a-zA-Z0-9_-]*/)?ty/(?P\w+)$', 'redirectFromTinyURN', name="tiny"), url(r'^(?P[a-zA-Z0-9_-]+/)?upload_file/' r'((?P\w+)/)?$', 'uploadFile', name='upload_file'), url(r'^(?P[a-zA-Z0-9_-]+/)?process_route_file/' r'(?P\d+)/$', 'processRouteFile', name='process_route_file'), url(r'^(?P[a-zA-Z0-9_-]+/)?dyn/(?P\w+)/$', 'extraPage', name='extra_page'), url(r'^(?:(?P[a-zA-Z0-9_-]*)/)?categories/$', CategoryDirectoryView.as_view(), name='category-directory'), url(r'^(?:(?P[a-zA-Z0-9_-]*)/)?categories/' r'(?P[a-zA-Z0-9_-]+)$', CategoryView.as_view(), name='category-directory-detail'), url(r'^(?:(?P[a-zA-Z0-9_-]*)/)?property-choices/' r'(?P[a-zA-Z0-9_-]+)/$', 'property_choice_list', name='property-choices'), # At the end, because it catches large url(r'^(?P[a-zA-Z0-9_-]+)?', 'index', name="index"), )