1 |
commit: 71cdead14c0c426989322b5b0562e312cc3ba30c |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Thu Jul 26 23:40:00 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Thu Jul 26 23:48:16 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=71cdead1 |
7 |
|
8 |
Add simple rss for main page |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/urls.py | 4 +++- |
12 |
gpackages/apps/packages/views.py | 18 ++++++++++++++++++ |
13 |
2 files changed, 21 insertions(+), 1 deletions(-) |
14 |
|
15 |
diff --git a/gpackages/apps/packages/urls.py b/gpackages/apps/packages/urls.py |
16 |
index d2071fb..4a04940 100644 |
17 |
--- a/gpackages/apps/packages/urls.py |
18 |
+++ b/gpackages/apps/packages/urls.py |
19 |
@@ -4,7 +4,8 @@ from views import CategoriesListView, HerdsListView, MaintainersListView, \ |
20 |
PackagesListsView, PackageDetailView, EbuildDetailView, \ |
21 |
GlobalUseListView, NewsListView, NewsDetailView, \ |
22 |
LicenseDetailView, ArchChoiceView, LicensesListView, \ |
23 |
- LocalUseListView, FilteringView, RepoDetailView |
24 |
+ LocalUseListView, FilteringView, RepoDetailView, \ |
25 |
+ MainPageFeed |
26 |
|
27 |
urlpatterns = patterns('', |
28 |
url(r'^categories/$', CategoriesListView.as_view(), name = 'categories'), |
29 |
@@ -31,4 +32,5 @@ urlpatterns = patterns('', |
30 |
url(r'^licenses/$', LicensesListView.as_view(), name = 'licenses'), |
31 |
url(r'^filter/$', FilteringView.as_view(), name = 'filter'), |
32 |
url(r'^repository/(?P<slug>[^/]+)/$', RepoDetailView.as_view(), name = 'repository'), |
33 |
+ url(r'^rss/$', MainPageFeed()), |
34 |
) |
35 |
|
36 |
diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py |
37 |
index b7def3a..5fdde7b 100644 |
38 |
--- a/gpackages/apps/packages/views.py |
39 |
+++ b/gpackages/apps/packages/views.py |
40 |
@@ -10,6 +10,7 @@ from django.core.urlresolvers import reverse |
41 |
|
42 |
from django.shortcuts import get_object_or_404 |
43 |
from package_info.parse_cp import EbuildParseCPVR, PackageParseCPR |
44 |
+from django.contrib.syndication.views import Feed |
45 |
|
46 |
arches = ['alpha', 'amd64', 'arm', 'hppa', 'ia64', 'ppc', 'ppc64', 'sparc', 'x86'] |
47 |
|
48 |
@@ -252,3 +253,20 @@ class RepoDetailView(DetailView): |
49 |
context_object_name = 'repository' |
50 |
slug_field = 'name' |
51 |
queryset = RepositoryModel.objects.all() |
52 |
+ |
53 |
+class MainPageFeed(Feed): |
54 |
+ title = 'Feed' |
55 |
+ link = '/rss/' |
56 |
+ description = 'Descr' |
57 |
+ |
58 |
+ def items(self): |
59 |
+ return EbuildModel.objects.all()[:40] |
60 |
+ |
61 |
+ def item_title(self, item): |
62 |
+ return item.cpv_or_cpvr() |
63 |
+ |
64 |
+ def item_description(self, item): |
65 |
+ return item.description |
66 |
+ |
67 |
+ def item_pubdate(self, item): |
68 |
+ return item.created_datetime |