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/apps/packages/, gpackages/templates/
Date: Wed, 27 Jun 2012 22:53:21
Message-Id: 1340824205.024d77654ecb1749c2e7eb16dc58d77db711ff47.bacher09@gentoo
1 commit: 024d77654ecb1749c2e7eb16dc58d77db711ff47
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Wed Jun 27 19:10:05 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Wed Jun 27 19:10:05 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=024d7765
7
8 Add base view for packages
9
10 ---
11 gpackages/apps/packages/managers.py | 3 ++
12 gpackages/apps/packages/urls.py | 4 ++-
13 gpackages/apps/packages/views.py | 12 ++++++-
14 gpackages/templates/packages.html | 60 +++++++++++++++++++++++++++++++++++
15 4 files changed, 77 insertions(+), 2 deletions(-)
16
17 diff --git a/gpackages/apps/packages/managers.py b/gpackages/apps/packages/managers.py
18 index 8cc015c..557cd48 100644
19 --- a/gpackages/apps/packages/managers.py
20 +++ b/gpackages/apps/packages/managers.py
21 @@ -81,6 +81,9 @@ class EbuildMixin(object):#{{{
22 'revision': ebuild.revision })
23 return super(EbuildMixin, self).get(*args, **kwargs)#}}}
24
25 + def all_by_numbers(self):
26 + return super(EbuildMixin, self).order_by('version', 'revision')
27 +
28
29 class HerdsMixin(object):#{{{
30 def filter(self, *args, **kwargs):
31
32 diff --git a/gpackages/apps/packages/urls.py b/gpackages/apps/packages/urls.py
33 index 33af35d..569417e 100644
34 --- a/gpackages/apps/packages/urls.py
35 +++ b/gpackages/apps/packages/urls.py
36 @@ -1,6 +1,7 @@
37 from django.conf.urls import patterns, include, url
38 from views import CategoriesListView, HerdsListView, MaintainersListView, \
39 - RepositoriesListView, LicenseGroupsView , EbuildsListView
40 + RepositoriesListView, LicenseGroupsView , EbuildsListView, \
41 + PackagesListsView
42
43 urlpatterns = patterns('',
44 url(r'^categories/$', CategoriesListView.as_view(), name = 'categories'),
45 @@ -9,4 +10,5 @@ urlpatterns = patterns('',
46 url(r'^repositories/$', RepositoriesListView.as_view(), name = 'repositories'),
47 url(r'^license-groups/$', LicenseGroupsView.as_view(), name = 'license_groups'),
48 url(r'^$', EbuildsListView.as_view(), name = 'ebuilds'),
49 + url(r'^packages/$', PackagesListsView.as_view(), name = 'packages'),
50 )
51
52 diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
53 index 93a1abd..6f73fdd 100644
54 --- a/gpackages/apps/packages/views.py
55 +++ b/gpackages/apps/packages/views.py
56 @@ -1,6 +1,7 @@
57 from generic.views import ContextListView, ContextTemplateView
58 from models import CategoryModel, HerdsModel, MaintainerModel, \
59 - RepositoryModel, LicenseGroupModel, EbuildModel
60 + RepositoryModel, LicenseGroupModel, EbuildModel, \
61 + PackageModel
62
63 class CategoriesListView(ContextListView):
64 extra_context = {'page_name': 'Categories',}
65 @@ -42,3 +43,12 @@ class EbuildsListView(ContextListView):
66 select_related('package',
67 'package__virtual_package',
68 'package__virtual_package__category')
69 +
70 +class PackagesListsView(ContextListView):
71 + paginate_by = 40
72 + extra_context = {'page_name': 'Packages',}
73 + template_name = 'packages.html'
74 + context_object_name = 'packages'
75 + queryset = PackageModel.objects.all(). \
76 + select_related('virtual_package', 'virtual_package__category')
77 + #prefetch_related('ebuildmodel_set')
78
79 diff --git a/gpackages/templates/packages.html b/gpackages/templates/packages.html
80 new file mode 100644
81 index 0000000..adead16
82 --- /dev/null
83 +++ b/gpackages/templates/packages.html
84 @@ -0,0 +1,60 @@
85 +{% extends "base.html" %}
86 +
87 +{% block content %}
88 +{% for package in packages %}
89 + <div class="well package-well">
90 + <div class="package-name">
91 + <span>{{ package.cp }}</span>
92 + <span class="package_update_datetime">{{ package.updated_datetime }}</span>
93 + </div>
94 + {% if package.description %}
95 + <div style="padding-bottom: 10px; margin 10px;">{{ package.description }}</div>
96 + {% endif %}
97 + <table class="keywords table table-bordered table-condensed">
98 + <colgroup>
99 + <col class="span2">
100 + <col class="span1">
101 + <col class="span1">
102 + <col class="span1">
103 + <col class="span1">
104 + <col class="span1">
105 + <col class="span1">
106 + <col class="span1">
107 + <col class="span1">
108 + <col class="span1">
109 + </colgroup>
110 + <thead>
111 + <tr class="">
112 + <th class=""></th>
113 + <th class="">alpha</th>
114 + <th class="">amd64</th>
115 + <th class="">arm</th>
116 + <th class="">hppa</th>
117 + <th class="">ia64</th>
118 + <th class="">ppc</th>
119 + <th class="">ppc64</th>
120 + <th class="">sparc</th>
121 + <th class="">x86</th>
122 + </tr>
123 + </thead>
124 + <tbody>
125 + {% for ebuild in package.ebuildmodel_set.all_by_numbers %}
126 + <tr>
127 + <td class="ebuild">{{ ebuild.fullversion }}</td>
128 + <td class="blank"></td>
129 + <td class="unstable">~</td>
130 + <td class="blank"></td>
131 + <td class="blank"></td>
132 + <td class="blank"></td>
133 + <td class="blank"></td>
134 + <td class="blank"></td>
135 + <td class="blank"></td>
136 + <td class="unstable">~</td>
137 + </tr>
138 + {% endfor %}
139 + </tbody>
140 + </table>
141 + </div>
142 +{% endfor %}
143 +{% include 'paginator.html' %}
144 +{% endblock content %}