123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- from django.conf.urls import include, patterns, url
- from django.contrib import admin
- from django.contrib.sitemaps import views as sitemap_views
- from django.views.decorators.cache import cache_page
- from django.views.generic import TemplateView, RedirectView
- from feeds import PackageFeed, NewsFeed, ReleaseFeed
- import sitemaps
- our_sitemaps = {
- 'base': sitemaps.BaseSitemap,
- 'news': sitemaps.NewsSitemap,
- 'packages': sitemaps.PackagesSitemap,
- 'package-files': sitemaps.PackageFilesSitemap,
- 'package-groups': sitemaps.PackageGroupsSitemap,
- 'split-packages': sitemaps.SplitPackagesSitemap,
- 'releases': sitemaps.ReleasesSitemap,
- 'todolists': sitemaps.TodolistSitemap,
- }
- news_sitemaps = { 'news': sitemaps.RecentNewsSitemap }
- urlpatterns = []
- # Public pages
- urlpatterns += patterns('public.views',
- (r'^$', 'index', {}, 'index'),
- (r'^about/$', TemplateView.as_view(template_name='public/about.html'),
- {}, 'page-about'),
- (r'^art/$', RedirectView.as_view(url='https://projects.parabola.nu/artwork.git/'),
- {}, 'page-art'),
- (r'^donate/$', RedirectView.as_view(url='https://wiki.parabola.nu/Donations'),
- {}, 'page-donate'),
- (r'^download/$', RedirectView.as_view(url='https://wiki.parabola.nu/Get_Parabola'),
- {}, 'page-download'),
- (r'^master-keys/$', 'keys', {}, 'page-keys'),
- (r'^master-keys/json/$', 'keys_json', {}, 'pgp-keys-json'),
- (r'^people/(?P<slug>[-\w]+)/$', 'people', {}, 'people'),
- )
- # Feeds patterns, used below
- feeds_patterns = patterns('',
- (r'^$', 'public.views.feeds', {}, 'feeds-list'),
- (r'^news/$', cache_page(311)(NewsFeed())),
- (r'^packages/$', cache_page(313)(PackageFeed())),
- (r'^packages/(?P<arch>[A-z0-9]+)/$',
- cache_page(313)(PackageFeed())),
- (r'^packages/all/(?P<repo>[A-z0-9\-]+)/$',
- cache_page(313)(PackageFeed())),
- (r'^packages/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$',
- cache_page(313)(PackageFeed())),
- (r'^releases/$', cache_page(317)(ReleaseFeed())),
- )
- # Includes and other remaining stuff
- urlpatterns += patterns('',
- (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'^releng/', include('releng.urls')),
- (r'^todo/', include('todolists.urls')),
- (r'^visualize/', include('visualize.urls')),
- (r'^opensearch/packages/$', 'packages.views.opensearch',
- {}, 'opensearch-packages'),
- (r'^opensearch/packages/suggest$', 'packages.views.opensearch_suggest',
- {}, 'opensearch-packages-suggest'),
- )
- # Sitemaps
- urlpatterns += patterns('',
- (r'^sitemap.xml$',
- cache_page(1831)(sitemap_views.index),
- {'sitemaps': our_sitemaps, 'sitemap_url_name': 'sitemaps'}),
- (r'^sitemap-(?P<section>.+)\.xml$',
- cache_page(1831)(sitemap_views.sitemap),
- {'sitemaps': our_sitemaps, 'template_name': 'sitemaps/sitemap.xml'},
- 'sitemaps'),
- (r'^news-sitemap\.xml$',
- cache_page(1831)(sitemap_views.sitemap),
- {'sitemaps': news_sitemaps, 'template_name': 'sitemaps/news_sitemap.xml'},
- 'news-sitemap'),
- )
- # Authentication
- urlpatterns += patterns('django.contrib.auth.views',
- (r'^login/$', 'login', {'template_name': 'registration/login.html'}, 'login'),
- (r'^logout/$', 'logout', {'template_name': 'registration/logout.html'}, 'logout'),
- )
- # Redirects for older known pages we see in the logs
- legacy_urls = (
- ('^about.php', '/about/'),
- ('^changelog.php', '/packages/?sort=-last_update'),
- ('^devs.php', '/people/hackers/'),
- ('^donations.php', '/donate/'),
- ('^download.php', '/download/'),
- ('^index.php', '/'),
- ('^logos.php', '/art/'),
- ('^news.php', '/news/'),
- ('^packages.php', '/packages/'),
- ('^people.php', '/people/hackers/'),
- ('^todolists/$', '/todo/'),
- ('^hackers/$', '/people/hackers/'),
- ('^developers/$', '/people/hackers/'),
- ('^artists/$', '/people/artists/'),
- ('^fellows/$', '/people/hacker-fellows/'),
- ('^trustedusers/$', '/people/hackers/'),
- ('^docs/en/guide/install/arch-install-guide.html',
- 'https://wiki.parabola.nu/Installation_Guide'),
- ('^docs/en/', 'https://wiki.parabola.nu/'),
- ('^docs/', 'https://wiki.parabola.nu/'),
- )
- urlpatterns += [url(old_url, RedirectView.as_view(url=new_url))
- for old_url, new_url in legacy_urls]
- def show_urls(urllist=urlpatterns, depth=0):
- for entry in urllist:
- print " " * depth, entry.regex.pattern
- if hasattr(entry, 'url_patterns'):
- show_urls(entry.url_patterns, depth + 1)
- # vim: set ts=4 sw=4 et:
|