#!/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/(?P\d+)$', LatestPOIsByCategory(), name='feeds-cat'), url(r'^(?P[a-zA-Z0-9_-]+/)?feeds/subcategory/(?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/(?P\w+)/(?P\w+)?$', 'edit', name="edit-item"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-route/$', 'editRoute', name="editroute"), url(r'^(?P[a-zA-Z0-9_-]+/)?edit-route/(?P\w+)/(?P\w+)?$', 'editRoute', name="editroute-item"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDetail/(?P\d+)/?$', 'getDetail', name="get_detail"), url(r'^(?P[a-zA-Z0-9_-]+/)?getDescriptionDetail/?(?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/((?P\w+)/)?$', 'uploadFile', name='upload_file'), url(r'^(?P[a-zA-Z0-9_-]+/)?process_route_file/(?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/(?P[a-zA-Z0-9_-]+)$', CategoryView.as_view(), name='category-directory-detail'), # At the end, because it catches large url(r'^(?P[a-zA-Z0-9_-]+)?', 'index', name="index"), )