From c1a197d29a692b7066ad12026f4bb9e92172f6b4 Mon Sep 17 00:00:00 2001 From: Ismael Carnales Date: Fri, 30 Oct 2009 19:36:42 -0200 Subject: added sitemaps from archweb_pub --- settings.py | 1 + sitemaps.py | 25 +++++++++++++++++++++++++ urls.py | 8 ++++++++ 3 files changed, 34 insertions(+) create mode 100644 sitemaps.py diff --git a/settings.py b/settings.py index e94f350..d97c785 100644 --- a/settings.py +++ b/settings.py @@ -69,6 +69,7 @@ INSTALLED_APPS = ( 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', + 'django.contrib.sitemaps', 'django.contrib.admin', 'archweb.main', # contains shared models and libs 'archweb.news', diff --git a/sitemaps.py b/sitemaps.py new file mode 100644 index 0000000..9e2ef85 --- /dev/null +++ b/sitemaps.py @@ -0,0 +1,25 @@ +from django.contrib.sitemaps import Sitemap +from archweb.main.models import Package, News + +class PackagesSitemap(Sitemap): + changefreq = "monthly" + priority = "0.4" + + def items(self): + return Package.objects.all() + + def lastmod(self, obj): + return obj.last_update + +class NewsSitemap(Sitemap): + changefreq = "never" + priority = "0.7" + + def items(self): + return News.objects.all() + + def lastmod(self, obj): + return obj.postdate + +# vim: set ts=4 sw=4 et: + diff --git a/urls.py b/urls.py index 0fda8d5..7a870ea 100644 --- a/urls.py +++ b/urls.py @@ -8,6 +8,7 @@ from django.contrib.auth.decorators import permission_required from archweb.main.models import Todolist from archweb.feeds import PackageFeed, NewsFeed +from archweb.sitemaps import NewsSitemap, PackagesSitemap feeds = { @@ -15,6 +16,11 @@ feeds = { 'news': NewsFeed } +sitemaps = { + 'news': NewsSitemap, + 'packages': PackagesSitemap, +} + admin.autodiscover() urlpatterns = patterns('', @@ -60,6 +66,8 @@ urlpatterns = patterns('', # Feeds and sitemaps (r'^feeds/(?P.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}), + (r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', + {'sitemaps': sitemaps}), # Authentication / Admin (r'^login/$', 'django.contrib.auth.views.login', { -- cgit v1.2.3-24-g4f1b