Modularize URLs

Make some additional URL config files that can be included so we aren't
trying to do so much in the top level config. This also allows us to
branch a bit more rather than go linear down the rather lengthy list.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-02-22 15:29:08 -06:00
parent 330048eab6
commit b9fdcd0622
4 changed files with 54 additions and 40 deletions

10
mirrors/urls.py Normal file
View File

@ -0,0 +1,10 @@
from django.conf.urls.defaults import patterns
urlpatterns = patterns('mirrors.views',
(r'^$', 'mirrors', {}, 'mirror-list'),
(r'^status/$', 'status', {}, 'mirror-status'),
(r'^status/json/$', 'status_json', {}, 'mirror-status-json'),
(r'^(?P<name>[\.\-\w]+)/$', 'mirror_details'),
)
# vim: set ts=4 sw=4 et:

View File

@ -0,0 +1,12 @@
from django.conf.urls.defaults import patterns
urlpatterns = patterns('mirrors.views',
(r'^$', 'generate_mirrorlist', {}, 'mirrorlist'),
(r'^all/$', 'find_mirrors', {'countries': ['all']}),
(r'^all/ftp/$', 'find_mirrors',
{'countries': ['all'], 'protocols': ['ftp']}),
(r'^all/http/$', 'find_mirrors',
{'countries': ['all'], 'protocols': ['http']}),
)
# vim: set ts=4 sw=4 et:

9
packages/urls_groups.py Normal file
View File

@ -0,0 +1,9 @@
from django.conf.urls.defaults import patterns
urlpatterns = patterns('packages.views',
(r'^$', 'groups', {}, 'groups-list'),
(r'^(?P<arch>[A-z0-9]+)/$', 'groups'),
(r'^(?P<arch>[A-z0-9]+)/(?P<name>[A-z0-9\-+.]+)/$', 'group_details'),
)
# vim: set ts=4 sw=4 et:

63
urls.py
View File

@ -17,47 +17,24 @@
}
admin.autodiscover()
urlpatterns = []
urlpatterns = patterns('packages.views',
(r'^groups/$', 'groups'),
(r'^groups/(?P<arch>[A-z0-9]+)/$', 'groups'),
(r'^groups/(?P<arch>[A-z0-9]+)/(?P<name>[A-z0-9\-+.]+)/$',
'group_details'),
(r'^opensearch/packages/$', 'opensearch', {}, 'opensearch-packages'),
)
urlpatterns += patterns('todolists.views',
(r'^todolists/$', 'public_list'),
)
urlpatterns += patterns('mirrors.views',
(r'^mirrors/status/$', 'status', {}, 'mirror-status'),
(r'^mirrors/status/json/$', 'status_json', {}, 'mirror-status-json'),
(r'^mirrors/$', 'mirrors', {}, 'mirrors-list'),
(r'^mirrors/(?P<name>[\.\-\w]+)/$', 'mirror_details'),
(r'^mirrorlist/$', 'generate_mirrorlist', {}, 'mirrorlist'),
(r'^mirrorlist/all/$', 'find_mirrors', {'countries': ['all']}),
(r'^mirrorlist/all/ftp/$', 'find_mirrors',
{'countries': ['all'], 'protocols': ['ftp']}),
(r'^mirrorlist/all/http/$', 'find_mirrors',
{'countries': ['all'], 'protocols': ['http']}),
)
# Feeds and sitemaps
urlpatterns += patterns('',
(r'^feeds/$', 'public.views.feeds', {}, 'feeds-list'),
(r'^feeds/news/$', NewsFeed()),
(r'^feeds/packages/$', PackageFeed()),
(r'^feeds/packages/(?P<arch>[A-z0-9]+)/$',
# Feeds patterns, used later
feeds_patterns = patterns('',
(r'^$', 'public.views.feeds', {}, 'feeds-list'),
(r'^news/$', NewsFeed()),
(r'^packages/$', PackageFeed()),
(r'^packages/(?P<arch>[A-z0-9]+)/$',
PackageFeed()),
(r'^feeds/packages/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$',
(r'^packages/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$',
PackageFeed()),
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index',
)
# Sitemaps
urlpatterns += patterns('django.contrib.sitemaps.views',
(r'^sitemap.xml$', 'index',
{'sitemaps': sitemaps}),
(r'^sitemap-(?P<section>.+)\.xml$', 'django.contrib.sitemaps.views.sitemap',
(r'^sitemap-(?P<section>.+)\.xml$', 'sitemap',
{'sitemaps': sitemaps}),
)
@ -88,13 +65,19 @@
# Includes and other remaining stuff
urlpatterns += patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^jsi18n/$', 'django.views.i18n.null_javascript_catalog'),
(r'^jsi18n/$', 'django.views.i18n.null_javascript_catalog'),
(r'^admin/', include(admin.site.urls)),
(r'^devel/', include('devel.urls')),
(r'^feeds/', include(feeds_patterns)),
(r'^groups/', include('packages.urls_groups')),
(r'^mirrorlist/',include('mirrors.urls_mirrorlist')),
(r'^mirrors/', include('mirrors.urls')),
(r'^news/', include('news.urls')),
(r'^packages/', include('packages.urls')),
(r'^todo/', include('todolists.urls')),
(r'^opensearch/packages/$', 'packages.views.opensearch',
{}, 'opensearch-packages'),
(r'^todolists/$','todolists.views.public_list'),
)
if settings.DEBUG == True: