Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/main/, gpackages/apps/packages/
Date: Mon, 30 Jul 2012 23:30:31
Message-Id: 1343668185.41baf0063cc9cfa177fab60cc9a7cfab0e982b9d.bacher09@gentoo
1 commit: 41baf0063cc9cfa177fab60cc9a7cfab0e982b9d
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Mon Jul 30 17:09:45 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Mon Jul 30 17:09:45 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=41baf006
7
8 Add simple sitemap
9
10 ---
11 gpackages/apps/packages/views.py | 11 +++++++++++
12 gpackages/main/settings.py | 1 +
13 gpackages/main/urls.py | 13 +++++++++++++
14 3 files changed, 25 insertions(+), 0 deletions(-)
15
16 diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
17 index 78ed365..0d483f9 100644
18 --- a/gpackages/apps/packages/views.py
19 +++ b/gpackages/apps/packages/views.py
20 @@ -12,6 +12,7 @@ from django.core.urlresolvers import reverse
21
22 from django.shortcuts import get_object_or_404
23 from package_info.parse_cp import EbuildParseCPVR, PackageParseCPR
24 +from django.contrib.sitemaps import Sitemap
25
26 arches = ['alpha', 'amd64', 'arm', 'hppa', 'ia64', 'ppc', 'ppc64', 'sparc', 'x86']
27
28 @@ -278,3 +279,13 @@ class MainPageFeed(FeedWithUpdated):
29 class MainPageFeedAtom(MainPageFeed):
30 link = '/atom/'
31 feed_type = RightAtom1Feed
32 +
33 +class PackageSitemap(Sitemap):
34 + priority = 0.9
35 + changefreq = "hourly"
36 +
37 + def items(self):
38 + return PackageModel.objects.all()[:1000]
39 +
40 + def lastmod(self, obj):
41 + return obj.updated_datetime
42
43 diff --git a/gpackages/main/settings.py b/gpackages/main/settings.py
44 index cf524f7..6046db8 100644
45 --- a/gpackages/main/settings.py
46 +++ b/gpackages/main/settings.py
47 @@ -126,6 +126,7 @@ INSTALLED_APPS = (
48 'django.contrib.staticfiles',
49 'django.contrib.admin',
50 'django.contrib.flatpages',
51 + 'django.contrib.sitemaps',
52 # 'django.contrib.admindocs',
53 #
54 'south',
55
56 diff --git a/gpackages/main/urls.py b/gpackages/main/urls.py
57 index c0c3e67..b9958d5 100644
58 --- a/gpackages/main/urls.py
59 +++ b/gpackages/main/urls.py
60 @@ -1,6 +1,18 @@
61 from django.conf.urls import patterns, include, url
62 from django.contrib import admin
63 from main.settings import DEBUG
64 +from django.contrib.sitemaps import FlatPageSitemap
65 +from packages.views import PackageSitemap
66 +
67 +# For caching sitemap
68 +from django.contrib.sitemaps import views as sitemaps_views
69 +from django.views.decorators.cache import cache_page
70 +
71 +sitemaps = {
72 + 'flatpages': FlatPageSitemap,
73 + 'packages' : PackageSitemap,
74 +}
75 +cached_sitemap = cache_page(3600)(sitemaps_views.sitemap)
76
77 admin.autodiscover()
78
79 @@ -9,6 +21,7 @@ urlpatterns = patterns('',
80 url(r'^i18n/' , include('django.conf.urls.i18n')),
81 url(r'^setlang/$', 'generic.views.set_lang_view', name = 'setlang'),
82 url(r'', include('packages.urls')),
83 + (r'^sitemap\.xml$', cached_sitemap, {'sitemaps': sitemaps}),
84 )
85
86 if DEBUG: