misc: remove usage of django.conf.urls.patterns (#19887)

This commit is contained in:
Thomas NOËL 2017-10-25 23:44:19 +02:00
parent 7f9f8eb791
commit 10e3cb2f91
18 changed files with 73 additions and 76 deletions

View File

@ -1,9 +1,9 @@
from django.views.decorators.csrf import csrf_exempt
from django.conf.urls import patterns, url
from django.conf.urls import url
from views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', BdpDetailView.as_view(), name='bdp-view'),
url(r'^(?P<slug>[\w,-]+)/(?P<resources>[\w,-]+)/$', ResourcesView.as_view(), name='bdp-resources'),
url(r'^(?P<slug>[\w,-]+)/post/adherent/$', csrf_exempt(PostAdherentView.as_view()), name='bdp-post-adherent'),
)
]

View File

@ -1,14 +1,14 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', ChoositDetailView.as_view(), name='choosit-view'),
url(r'^register/(?P<slug>[\w,-]+)/$', ChoositRegisterDetailView.as_view(), name='choosit-register-view'),
url(r'^register/(?P<slug>[\w,-]+)/register$', ChoositRegisterView.as_view(), name='choosit-register'),
)
]
management_urlpatterns = patterns('',
management_urlpatterns = [
url(r'^register/add$', ChoositRegisterCreateView.as_view(), name='choosit-register-add'),
url(r'^register/(?P<slug>[\w,-]+)/edit$', ChoositRegisterUpdateView.as_view(), name='choosit-register-edit'),
url(r'^register/(?P<slug>[\w,-]+)/delete$', ChoositRegisterDeleteView.as_view(), name='choosit-register-delete'),
)
]

View File

@ -1,11 +1,11 @@
from django.views.decorators.csrf import csrf_exempt
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from passerelle.urls_utils import decorated_includes, required, app_enabled
from views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', ClicRdvDetailView.as_view(), name='clicrdv-view'),
url(r'^(?P<slug>[\w,-]+)/interventions/(?P<intervention_id>\d+)/datetimes/$',
@ -20,4 +20,4 @@ urlpatterns = patterns('',
csrf_exempt(CreateAppointmentView.as_view()), name='clicrdv-create-appointment-qs'),
url(r'^(?P<slug>[\w,-]+)/(?P<appointment_id>\d+)/cancel$',
CancelAppointmentView.as_view(), name='clicrdv-cancel-appointment'),
)
]

View File

@ -14,19 +14,19 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/data$', CsvDataView.as_view(), name='csvdatasource-data'),
)
]
management_urlpatterns = patterns('',
management_urlpatterns = [
url(r'^(?P<connector_slug>[\w,-]+)/download/$',
CsvDownload.as_view(), name='csv-download'),
url(r'^(?P<connector_slug>[\w,-]+)/queries/new/$',
NewQueryView.as_view(), name='csv-new-query'),
url(r'^(?P<connector_slug>[\w,-]+)/queries/(?P<pk>[\w,-]+)/$',
UpdateQueryView.as_view(), name='csv-edit-query'),
)
]

View File

@ -1,11 +1,11 @@
from django.views.decorators.csrf import csrf_exempt
from django.conf.urls import patterns, url
from django.conf.urls import url
from views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', GdcDetailView.as_view(), name='gdc-view'),
url(r'^(?P<slug>[\w,-]+)/voies/(?P<insee>\d+)$', VoiesView.as_view(), name='gdc-voies'),
url(r'^(?P<slug>[\w,-]+)/post/demande$', csrf_exempt(PostDemandeView.as_view()), name='gdc-post'),
url(r'^(?P<slug>[\w,-]+)/status/(?P<ref>\d+)', StatusView.as_view(), name='gdc-status'),
)
]

View File

@ -1,14 +1,14 @@
from django.views.decorators.csrf import csrf_exempt
from django.conf.urls import patterns, url
from django.conf.urls import url
from views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', PastellDetailView.as_view(), name='pastell-view'),
url(r'^(?P<slug>[\w,-]+)/post/$', csrf_exempt(PostView.as_view()), name='pastell-post'),
)
]
management_urlpatterns = patterns('',
management_urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/type$', PastellTypeView.as_view(), name='pastell-type'),
url(r'^(?P<slug>[\w,-]+)/fields$', PastellFieldsView.as_view(), name='pastell-fields'),
)
]

View File

@ -1,9 +1,9 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from .views import ApiUserCreateView, ApiUserUpdateView, ApiUserDeleteView, \
ApiUserListView, AccessRightDeleteView, AccessRightCreateView
access_urlpatterns = patterns('',
access_urlpatterns = [
url(r'^$', ApiUserListView.as_view(), name='apiuser-list'),
url(r'^add$', ApiUserCreateView.as_view(), name='apiuser-add'),
url(r'^(?P<pk>[\w,-]+)/edit$', ApiUserUpdateView.as_view(), name='apiuser-edit'),
@ -13,4 +13,4 @@ access_urlpatterns = patterns('',
name='access-right-remove'),
url(r'^accessright/add/(?P<resource_type>[\w,-]+)/(?P<resource_pk>[\w,-]+)/(?P<codename>[\w,-]+)/',
AccessRightCreateView.as_view(), name='access-right-add')
)
]

View File

@ -14,13 +14,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from django.contrib.auth.decorators import login_required
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w-]+)/$', AgoraPlusDetailView.as_view(),
name='agoraplus-view'),
url(r'^(?P<slug>[\w-]+)/ping/$', PingView.as_view(),
@ -129,4 +129,4 @@ urlpatterns = patterns('',
url(r'^(?P<slug>[\w-]+)/periscol/reservations/delete/?$',
PeriscolDeleteReservationsView.as_view(),
name='agoraplus-periscol-reservations-delete'),
)
]

View File

@ -14,11 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', FakeFamilyDetailView.as_view(),
name='fake-family-view'),
url(r'^(?P<slug>[\w,-]+)/dump/$', DumpView.as_view(),
@ -31,4 +31,4 @@ urlpatterns = patterns('',
name='fake-family-info'),
url(r'^(?P<slug>[\w,-]+)/family/(?P<key>[\w,-]+)/$', FamilyKeyView.as_view(),
name='fake-family-key'),
)
]

View File

@ -14,15 +14,15 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', MaarchDetailView.as_view(),
name='maarch-view'),
url(r'^(?P<slug>[\w,-]+)/ping/$', PingView.as_view(),
name='maarch-ping'),
url(r'^(?P<slug>[\w,-]+)/resource/$', ResourceView.as_view(),
name='maarch-resource'),
)
]

View File

@ -14,15 +14,15 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', ManagementDetailView.as_view(),
name='meyzieu-newsletters-view'),
url(r'^(?P<slug>[\w,-]+)/newsletters/$', NewslettersTypesView.as_view(),
name='meyzieu-newsletters-types'),
url(r'^(?P<slug>[\w,-]+)/subscriptions/$', NewslettersSubscriptionsView.as_view(),
name='meyzieu-newsletters-subscriptions'),
)
]

View File

@ -14,15 +14,15 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', SeisinByEmailManagementDetailView.as_view(),
name='seisin-by-email-view'),
url(r'^(?P<slug>[\w,-]+)/ping/$', PingView.as_view(),
name='seisin-by-email-ping'),
url(r'^(?P<slug>[\w,-]+)/resource/$', ResourceView.as_view(),
name='seisin-by-email-resource'),
)
]

View File

@ -14,11 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', SolisAPADetailView.as_view(),
name='solis-apa-view'),
url(r'^(?P<slug>[\w,-]+)/communes/$', CommunesView.as_view(),
@ -33,4 +33,4 @@ urlpatterns = patterns('',
SuiviView.as_view(), name='solis-apa-suivi'),
url(r'^(?P<slug>[\w,-]+)/integration/$', IntegrationView.as_view(),
name='solis-apa-integration')
)
]

View File

@ -14,11 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .views import *
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$', ManagementDetailView.as_view(),
name='teamnet-axel-view'),
url(r'^(?P<slug>[\w,-]+)/ping/$', PingView.as_view(),
@ -44,4 +44,4 @@ urlpatterns = patterns('',
url(r'^(?P<slug>[\w,-]+)/regie/(?P<regie_id>[\w,-]+)/invoice/(?P<invoice_id>[\w,-]+)/pay/$',
InvoicePayView.as_view(),
name='teamnet-axel-invoice-payment'),
)
]

View File

@ -14,14 +14,14 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, url
from django.conf.urls import url
from .views import TlmComDetailView, CallStart, CallStop
urlpatterns = patterns('',
urlpatterns = [
url(r'^(?P<slug>[\w,-]+)/$',
TlmComDetailView.as_view(), name='tlmcom-view'),
url(r'^(?P<slug>[\w,-]+)/call-start/$',
CallStart.as_view(), name='tlmcom-call-start'),
url(r'^(?P<slug>[\w,-]+)/call-stop/$',
CallStop.as_view(), name='tlmcom-call-stop'),
)
]

View File

@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.apps import apps
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from .urls_utils import decorated_includes, required, app_enabled, manager_required
@ -50,6 +50,4 @@ def register_apps_urls(urlpatterns):
urls = required(manager_required, urls)
after_urls.append(url(url_prefix, include(urls)))
before_patterns = patterns('', *before_urls)
after_patterns = patterns('', *after_urls)
return before_patterns + urlpatterns + after_patterns
return before_urls + urlpatterns + after_urls

View File

@ -1,5 +1,5 @@
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from django.contrib import admin
@ -19,7 +19,7 @@ import pastell.urls
admin.autodiscover()
urlpatterns = patterns('',
urlpatterns = [
url(r'^$', HomePageView.as_view(), name='homepage'),
url(r'^manage/$', manager_required(ManageView.as_view()), name='manage-home'),
@ -33,55 +33,54 @@ urlpatterns = patterns('',
url(r'^manage/access/',
decorated_includes(manager_required, include(access_urlpatterns))),
)
]
urlpatterns += required(
app_enabled('choosit'),
patterns('',
app_enabled('choosit'), [
url(r'^choosit/', include(choosit.urls.urlpatterns)),
url(r'^manage/choosit/',
decorated_includes(manager_required, include(choosit.urls.management_urlpatterns))),
)
]
)
urlpatterns += required(
app_enabled('pastell'),
patterns('',
app_enabled('pastell'), [
url(r'^manage/pastell/',
decorated_includes(manager_required, include(pastell.urls.management_urlpatterns))),
)
]
)
# add patterns from apps
urlpatterns = register_apps_urls(urlpatterns)
# add authentication patterns
urlpatterns += patterns('',
urlpatterns += [
url(r'^logout/$', logout, name='logout'),
url(r'^login/$', login, name='auth_login'),
)
]
if 'mellon' in settings.INSTALLED_APPS:
urlpatterns += patterns('', url(r'^accounts/mellon/', include('mellon.urls')))
urlpatterns += [url(r'^accounts/mellon/', include('mellon.urls'))]
urlpatterns += patterns('',
urlpatterns += [
url(r'^manage/(?P<connector>[\w,-]+)/', decorated_includes(manager_required,
include(patterns('',
include([
url(r'^add$',
GenericCreateConnectorView.as_view(), name='create-connector'),
url(r'^(?P<slug>[\w,-]+)/delete$',
GenericDeleteConnectorView.as_view(), name='delete-connector'),
url(r'^(?P<slug>[\w,-]+)/edit$',
GenericEditConnectorView.as_view(), name='edit-connector'),
)))))
])))
]
urlpatterns += patterns('',
urlpatterns += [
url(r'^(?P<connector>[\w,-]+)/(?P<slug>[\w,-]+)/$',
GenericConnectorView.as_view(), name='view-connector'),
url(r'^(?P<connector>[\w,-]+)/(?P<slug>[\w,-]+)/(?P<endpoint>[\w,-]+)(?:/(?P<rest>.*))?$',
GenericEndpointView.as_view(), name='generic-endpoint')
)
]
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

View File

@ -41,7 +41,7 @@ def decorated_includes(func, includes, *args, **kwargs):
# below, a set of decorators to generate urls.py like this:
# urlpatterns = required(
# app_enabled('applabel'),
# patterns( ... urls for applabel ... )
# [... urls for applabel ...]
# )
def unless(test, message):
@ -74,8 +74,8 @@ def required(wrapping_functions,patterns_rslt):
Used to require 1..n decorators in any view returned by a url tree
Usage:
urlpatterns = required(func,patterns(...))
urlpatterns = required((func,func,func),patterns(...))
urlpatterns = required(func,[...urls...])
urlpatterns = required((func,func,func),[...urls...])
Note:
Use functools.partial to pass keyword params to the required
@ -87,7 +87,7 @@ def required(wrapping_functions,patterns_rslt):
urlpatterns = required(
partial(login_required,login_url='/accounts/login/'),
patterns(...)
[...urls...]
)
'''
if not hasattr(wrapping_functions, '__iter__'):