2021-10-29 10:57:37 -07:00
|
|
|
from django.urls import include, path, re_path
|
2008-10-05 18:41:37 -07:00
|
|
|
from django.contrib import admin
|
2012-09-30 11:30:09 -07:00
|
|
|
from django.contrib.sitemaps import views as sitemap_views
|
2018-01-01 13:25:02 -08:00
|
|
|
from django.contrib.auth import views as auth_views
|
2019-02-05 11:54:04 -08:00
|
|
|
from django.conf import settings
|
2008-10-05 18:41:37 -07:00
|
|
|
|
2011-10-07 09:31:55 -07:00
|
|
|
from django.views.decorators.cache import cache_page
|
2017-07-11 12:35:42 -07:00
|
|
|
from django.views.generic import TemplateView
|
2008-10-05 18:41:37 -07:00
|
|
|
|
2019-10-08 06:52:38 -07:00
|
|
|
from feeds import PackageFeed, NewsFeed, ReleaseFeed, PackageUpdatesFeed, PlanetFeed
|
2010-08-27 15:25:46 -07:00
|
|
|
import sitemaps
|
2009-10-30 14:24:26 -07:00
|
|
|
|
2018-01-01 13:25:02 -08:00
|
|
|
import devel.urls
|
|
|
|
import mirrors.urls
|
|
|
|
import mirrors.urls_mirrorlist
|
|
|
|
import news.urls
|
|
|
|
import packages.urls
|
|
|
|
import packages.urls_groups
|
2021-09-13 12:57:13 -07:00
|
|
|
import packages.views
|
2019-10-08 06:52:38 -07:00
|
|
|
import planet.views
|
2018-01-01 13:25:02 -08:00
|
|
|
import public.views
|
|
|
|
import releng.urls
|
|
|
|
import todolists.urls
|
|
|
|
import visualize.urls
|
|
|
|
|
2011-10-11 17:29:15 -07:00
|
|
|
our_sitemaps = {
|
2011-06-15 14:55:03 -07:00
|
|
|
'base': sitemaps.BaseSitemap,
|
2010-08-27 15:25:46 -07:00
|
|
|
'news': sitemaps.NewsSitemap,
|
|
|
|
'packages': sitemaps.PackagesSitemap,
|
|
|
|
'package-files': sitemaps.PackageFilesSitemap,
|
|
|
|
'package-groups': sitemaps.PackageGroupsSitemap,
|
2011-11-11 09:57:04 -08:00
|
|
|
'split-packages': sitemaps.SplitPackagesSitemap,
|
2013-02-04 21:27:44 -08:00
|
|
|
'releases': sitemaps.ReleasesSitemap,
|
2014-11-08 17:26:51 -08:00
|
|
|
'todolists': sitemaps.TodolistSitemap,
|
2009-10-30 14:36:42 -07:00
|
|
|
}
|
|
|
|
|
2017-07-11 12:36:52 -07:00
|
|
|
news_sitemaps = {'news': sitemaps.RecentNewsSitemap}
|
2014-11-08 14:31:38 -08:00
|
|
|
|
2011-02-22 13:29:08 -08:00
|
|
|
urlpatterns = []
|
|
|
|
|
2010-12-13 12:43:13 -08:00
|
|
|
# Public pages
|
2018-01-01 13:25:02 -08:00
|
|
|
urlpatterns.extend([
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^$', public.views.index, name='index'),
|
|
|
|
re_path(r'^about/$', TemplateView.as_view(template_name='public/about.html'), name='page-about'),
|
|
|
|
re_path(r'^art/$', TemplateView.as_view(template_name='public/art.html'), name='page-art'),
|
|
|
|
re_path(r'^svn/$', TemplateView.as_view(template_name='public/svn.html'), name='page-svn'),
|
|
|
|
re_path(r'^donate/$', public.views.donate, name='page-donate'),
|
|
|
|
re_path(r'^download/$', public.views.download, name='page-download'),
|
|
|
|
re_path(r'^master-keys/$', public.views.keys, name='page-keys'),
|
|
|
|
re_path(r'^master-keys/json/$', public.views.keys_json, name='pgp-keys-json'),
|
|
|
|
re_path(r'^people/(?P<slug>[-\w]+)/$', public.views.people, name='people'),
|
|
|
|
re_path(r'^planet/$', planet.views.index, name='planet'),
|
2018-01-01 13:25:02 -08:00
|
|
|
])
|
2010-12-13 12:35:30 -08:00
|
|
|
|
2013-01-21 09:08:35 -08:00
|
|
|
# Feeds patterns, used below
|
2018-01-01 13:25:02 -08:00
|
|
|
feeds_patterns = [
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^$', public.views.feeds, name='feeds-list'),
|
|
|
|
re_path(r'^news/$', cache_page(311)(NewsFeed())),
|
|
|
|
re_path(r'^packages/$', cache_page(313)(PackageFeed())),
|
|
|
|
re_path(r'^packages/(added|removed)/$', cache_page(313)(PackageUpdatesFeed())),
|
|
|
|
re_path(r'^packages/(added|removed)/(?P<arch>[A-z0-9]+)/$', cache_page(313)(PackageUpdatesFeed())),
|
|
|
|
re_path(r'^packages/(added|removed)/all/(?P<repo>[A-z0-9\-]+)/$', cache_page(313)(PackageUpdatesFeed())),
|
|
|
|
re_path(r'^packages/(added|removed)/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$',
|
2020-10-03 21:59:41 -07:00
|
|
|
cache_page(313)(PackageUpdatesFeed())),
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^packages/(?P<arch>[A-z0-9]+)/$', cache_page(313)(PackageFeed())),
|
|
|
|
re_path(r'^packages/all/(?P<repo>[A-z0-9\-]+)/$', cache_page(313)(PackageFeed())),
|
|
|
|
re_path(r'^packages/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$', cache_page(313)(PackageFeed())),
|
|
|
|
re_path(r'^releases/$', cache_page(317)(ReleaseFeed())),
|
|
|
|
re_path(r'^planet/$', cache_page(317)(PlanetFeed()), name='planet-feed'),
|
2018-01-01 13:25:02 -08:00
|
|
|
]
|
2012-02-02 12:12:46 -08:00
|
|
|
|
2020-02-20 13:06:00 -08:00
|
|
|
# Old planet.archlinux.org redirects, to be removed once people have migrated.
|
|
|
|
urlpatterns.extend([
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^planet/rss20.xml$', cache_page(317)(PlanetFeed())),
|
|
|
|
re_path(r'^planet/atom.xml$', cache_page(317)(PlanetFeed())),
|
2020-02-20 13:06:00 -08:00
|
|
|
])
|
|
|
|
|
2010-12-13 12:43:13 -08:00
|
|
|
# Includes and other remaining stuff
|
2018-01-01 13:25:02 -08:00
|
|
|
urlpatterns.extend([
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^admin/', admin.site.urls),
|
|
|
|
re_path(r'^devel/', include(devel.urls)),
|
|
|
|
re_path(r'^feeds/', include(feeds_patterns)),
|
|
|
|
re_path(r'^groups/', include(packages.urls_groups)),
|
|
|
|
re_path(r'^mirrorlist/', include(mirrors.urls_mirrorlist)),
|
|
|
|
re_path(r'^mirrors/', include(mirrors.urls)),
|
|
|
|
re_path(r'^news/', include(news.urls)),
|
|
|
|
re_path(r'^packages/', include(packages.urls)),
|
|
|
|
re_path(r'^releng/', include(releng.urls)),
|
|
|
|
re_path(r'^todo/', include(todolists.urls)),
|
|
|
|
re_path(r'^visualize/', include(visualize.urls)),
|
|
|
|
re_path(r'^opensearch/packages/$', packages.views.opensearch, name='opensearch-packages'),
|
|
|
|
re_path(r'^opensearch/packages/suggest$', packages.views.opensearch_suggest, name='opensearch-packages-suggest'),
|
2018-01-01 13:25:02 -08:00
|
|
|
])
|
2007-12-29 14:52:17 -08:00
|
|
|
|
2013-01-21 09:08:35 -08:00
|
|
|
# Sitemaps
|
2018-01-01 13:25:02 -08:00
|
|
|
urlpatterns.extend([
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^sitemap.xml$', cache_page(1831)(sitemap_views.index),
|
2013-01-21 09:08:35 -08:00
|
|
|
{'sitemaps': our_sitemaps, 'sitemap_url_name': 'sitemaps'}),
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^sitemap-(?P<section>.+)\.xml$', cache_page(1831)(sitemap_views.sitemap),
|
2016-11-30 11:10:35 -08:00
|
|
|
{'sitemaps': our_sitemaps, 'template_name': 'sitemaps/sitemap.xml'},
|
2018-01-01 13:25:02 -08:00
|
|
|
name='sitemaps'),
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^news-sitemap\.xml$', cache_page(1831)(sitemap_views.sitemap),
|
2016-11-30 11:10:35 -08:00
|
|
|
{'sitemaps': news_sitemaps, 'template_name': 'sitemaps/news_sitemap.xml'},
|
2018-01-01 13:25:02 -08:00
|
|
|
name='news-sitemap'),
|
|
|
|
])
|
2013-01-21 09:08:35 -08:00
|
|
|
|
2015-01-13 16:17:27 -08:00
|
|
|
# Authentication
|
2018-01-01 13:25:02 -08:00
|
|
|
urlpatterns.extend([
|
2021-10-29 10:57:37 -07:00
|
|
|
re_path(r'^login/$', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login'),
|
|
|
|
re_path(r'^logout/$', auth_views.LogoutView.as_view(template_name='registration/logout.html'), name='logout'),
|
2018-01-01 13:25:02 -08:00
|
|
|
])
|
2013-01-21 09:08:35 -08:00
|
|
|
|
2019-02-05 11:54:04 -08:00
|
|
|
# django-toolbar
|
2021-09-13 12:45:41 -07:00
|
|
|
if settings.DEBUG_TOOLBAR: # pragma: no cover
|
2019-02-05 11:54:04 -08:00
|
|
|
import debug_toolbar
|
|
|
|
urlpatterns.extend([
|
|
|
|
path('__debug__/', include(debug_toolbar.urls)),
|
|
|
|
])
|
2013-01-21 09:08:35 -08:00
|
|
|
|
2020-10-03 21:59:41 -07:00
|
|
|
|
2018-11-22 12:50:02 -08:00
|
|
|
# displays all archweb urls
|
|
|
|
def show_urls(urllist=urlpatterns, depth=0): # pragma: no cover
|
2013-01-21 09:08:35 -08:00
|
|
|
for entry in urllist:
|
2017-05-28 07:45:06 -07:00
|
|
|
print(" " * depth, entry.regex.pattern)
|
2013-01-21 09:08:35 -08:00
|
|
|
if hasattr(entry, 'url_patterns'):
|
|
|
|
show_urls(entry.url_patterns, depth + 1)
|
|
|
|
|
2007-12-29 14:52:17 -08:00
|
|
|
# vim: set ts=4 sw=4 et:
|