summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-06-15 16:55:03 -0500
committerDan McGee <dan@archlinux.org>2011-06-15 16:55:03 -0500
commitcda9c5bb34b450b391500636c8d3f5ff4bfe51ab (patch)
tree0084c793312e2c58077bfc38555342bdb42ac04c
parentb0bad20756549df5edf726771c8e6869caba6244 (diff)
Add a base pages sitemap
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--packages/urls.py4
-rw-r--r--sitemaps.py34
-rw-r--r--urls.py1
3 files changed, 36 insertions, 3 deletions
diff --git a/packages/urls.py b/packages/urls.py
index 3c2c87b0..d408e6cf 100644
--- a/packages/urls.py
+++ b/packages/urls.py
@@ -19,10 +19,10 @@ urlpatterns = patterns('packages.views',
'signoff_package'),
(r'^update/$', 'update'),
- (r'^$', 'search'),
+ (r'^$', 'search', {}, 'packages-search'),
(r'^(?P<page>\d+)/$', 'search'),
- (r'^differences/$', 'arch_differences'),
+ (r'^differences/$', 'arch_differences', {}, 'packages-differences'),
(r'^stale_relations/$', 'stale_relations'),
(r'^stale_relations/update/$','stale_relations_update'),
diff --git a/sitemaps.py b/sitemaps.py
index 37387f15..8ac5bc4f 100644
--- a/sitemaps.py
+++ b/sitemaps.py
@@ -1,4 +1,6 @@
from django.contrib.sitemaps import Sitemap
+from django.core.urlresolvers import reverse
+
from main.models import Package
from news.models import News
from packages.utils import get_group_info
@@ -41,7 +43,7 @@ class PackageGroupsSitemap(Sitemap):
class NewsSitemap(Sitemap):
changefreq = "never"
- priority = "0.7"
+ priority = "0.8"
def items(self):
return News.objects.all()
@@ -49,4 +51,34 @@ class NewsSitemap(Sitemap):
def lastmod(self, obj):
return obj.last_modified
+
+class BaseSitemap(Sitemap):
+ base_viewnames = (
+ ('index', 1.0, 'hourly'),
+ ('packages-search', 0.8, 'hourly'),
+ 'page-about', 'page-art', 'page-svn', 'page-devs', 'page-tus',
+ 'page-fellows', 'page-donate', 'page-download', 'news-list',
+ 'feeds-list', 'groups-list', 'mirror-list', 'mirror-status',
+ 'mirrorlist', 'packages-differences', 'releng-test-overview',
+ )
+
+ def items(self):
+ return self.base_viewnames
+
+ def location(self, obj):
+ name = obj
+ if isinstance(obj, tuple):
+ name = obj[0]
+ return reverse(name)
+
+ def priority(self, obj):
+ if isinstance(obj, tuple):
+ return obj[1]
+ return 0.7
+
+ def changefreq(self, obj):
+ if isinstance(obj, tuple):
+ return obj[2]
+ return 'monthly'
+
# vim: set ts=4 sw=4 et:
diff --git a/urls.py b/urls.py
index 36a2d79f..c9faf165 100644
--- a/urls.py
+++ b/urls.py
@@ -10,6 +10,7 @@ from feeds import PackageFeed, NewsFeed
import sitemaps
sitemaps = {
+ 'base': sitemaps.BaseSitemap,
'news': sitemaps.NewsSitemap,
'packages': sitemaps.PackagesSitemap,
'package-files': sitemaps.PackageFilesSitemap,