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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (C) 2008-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# 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 <http://www.gnu.org/licenses/>.
# 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.models import Map
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<map_name>[a-zA-Z0-9_-]+/)?simple$', 'index', {'simple':True},
name="simple_index")
)
if settings.CHIMERE_FEEDS:
urlpatterns += patterns('',
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds$', 'chimere.views.rss',
name='feeds-form'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds/category/(?P<category_id>\d+)$',
LatestPOIsByCategory(), name='feeds-cat'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds/subcategory/(?P<category_id>\d+)$',
LatestPOIsBySubCategory(), name='feeds-subcat'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds/global/$', LatestPOIs(),
name='feeds-global'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds/area/(?P<area>[0-9-_.]+)$',
LatestPOIsByZone(), name='feeds-area'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?feeds/mapid/(?P<map_id>\d+)$',
LatestPOIsByZoneID(), name='feeds-mapid'),
)
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<map_name>[a-zA-Z0-9_-]*/)?route/'\
r'(?P<transport>(%s))/((?P<speed>[0-9][0-9]*)/)?'
r'(?P<lon1>[-]?[0-9]+[.]?[0-9]*)_(?P<lat1>[-]?[0-9]+[.]?[0-9]*)_'\
r'(?P<lonlat_steps>([-]?[0-9]+[.]?[0-9]*_[-]?[0-9]+[.]?[0-9]*_)*)'\
r'(?P<lon2>[-]?[0-9]+[.]?[0-9]*)_(?P<lat2>[-]?[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'^logout/?$', 'logout_view', name="logout"),
url(r'^charte/?$', 'charte', name="charte"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?contact/?$', 'contactus',
name="contact"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?edit/$', 'edit',
name="edit"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?edit/(?P<item_id>\w+)/(?P<submited>\w+)?$',
'edit', name="edit-item"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?edit-route/$', 'editRoute',
name="editroute"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?edit-route/(?P<item_id>\w+)/(?P<submited>\w+)?$',
'editRoute', name="editroute-item"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getDetail/(?P<marker_id>\d+)/?$', 'getDetail',
name="get_detail"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getDescriptionDetail/?(?P<category_id>\d+)/?$',
'getDescriptionDetail', name="get_description_detail"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getGeoObjects/'\
r'(?P<category_ids>[a-zA-Z0-9_-]+)(/(?P<status>\w+))?$', 'getGeoObjects',
name="getgeoobjects"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getAvailableCategories/$',
'get_available_categories', name="get_categories"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getAllCategories/$',
'get_all_categories', name="get_all_categories"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?getCategory/(?P<category_id>\d+)/?$',
'getCategory', name="get_category"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]*/)?get-share-url/(?P<network>\w+)?$',
'getShareUrl', name="get-share-url"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]*/)?ty/(?P<tiny_urn>\w+)$',
'redirectFromTinyURN', name="tiny"),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?upload_file/((?P<category_id>\w+)/)?$',
'uploadFile', name='upload_file'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?process_route_file/(?P<file_id>\d+)/$',
'processRouteFile', name='process_route_file'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?dyn/(?P<page_id>\w+)/$',
'extraPage', name='extra_page'),
url(r'^(?P<map_name>[a-zA-Z0-9_-]+/)?json/(?P<app_name>[a-zA-Z0-9_-]+)/(?P<filename>[a-zA-Z0-9_-]+).json$', 'get_json',
name='get-json'),
# At the end, because it catches large
url(r'^(?P<map_name>[a-zA-Z0-9_-]+)?', 'index', name="index"),
)
|