1 |
commit: 96969fe37a3f589bbd0a9688979c7cd332cf5c1d |
2 |
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Aug 1 23:02:22 2015 +0000 |
4 |
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Aug 1 23:02:22 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster-www.git/commit/?id=96969fe3 |
7 |
|
8 |
add repoman full support |
9 |
|
10 |
python/tbc_www/models.py | 13 +++++++++- |
11 |
python/tbc_www/views.py | 30 ++++++++++++++++------ |
12 |
python/templates/includes/frontpage/new_repoman_qa | 16 +++++++++--- |
13 |
.../templates/pages/packages/category/index.html | 6 ++++- |
14 |
python/templates/pages/packages/ebuilds/index.html | 3 +++ |
15 |
5 files changed, 54 insertions(+), 14 deletions(-) |
16 |
|
17 |
diff --git a/python/tbc_www/models.py b/python/tbc_www/models.py |
18 |
index 2cb327a..efdc13a 100644 |
19 |
--- a/python/tbc_www/models.py |
20 |
+++ b/python/tbc_www/models.py |
21 |
@@ -89,7 +89,7 @@ class BuildLogs(models.Model): |
22 |
def __str__(self): |
23 |
return '%s %s %s %s %s %s %s' % (self.BuildLogId, self.EbuildId, self.Fail, self.SummeryText, self.LogHash, self.BugId, self.TimeStamp) |
24 |
|
25 |
-class BuildLogsRepomanQa(models.Model): |
26 |
+class BuildLogsQa(models.Model): |
27 |
Id = models.IntegerField(primary_key=True, db_column='id') |
28 |
BuildLogId = models.ForeignKey(BuildLogs, db_column='build_log_id') |
29 |
SummeryText = models.TextField(db_column='summery_text') |
30 |
@@ -98,6 +98,17 @@ class BuildLogsRepomanQa(models.Model): |
31 |
def __str__(self): |
32 |
return '%s %s %s' % (self.Id, self.BuildLogId, self.SummeryText) |
33 |
|
34 |
+class PackagesRepoman(models.Model): |
35 |
+ Id = models.IntegerField(primary_key=True, db_column='id') |
36 |
+ PackageId = models.ForeignKey(Packages, db_column='package_id') |
37 |
+ RepomanText = models.TextField(db_column='repoman_text') |
38 |
+ RepomanHash = models.CharField(max_length=100, db_column='repoman_hash') |
39 |
+ TimeStamp = models.DateTimeField(db_column='time_stamp') |
40 |
+ class Meta: |
41 |
+ db_table = 'packages_repoman' |
42 |
+ def __str__(self): |
43 |
+ return '%s %s %s %s %s' % (self.Id, self.PackageId, self.RepomanText, self.RepomanHash, self.TimeStamp) |
44 |
+ |
45 |
class ErrorsInfo(models.Model): |
46 |
ErrorId = models.IntegerField(primary_key=True, db_column='error_id') |
47 |
ErrorName = models.CharField(max_length=20, db_column='error_name') |
48 |
|
49 |
diff --git a/python/tbc_www/views.py b/python/tbc_www/views.py |
50 |
index 7e99671..ff9a201 100644 |
51 |
--- a/python/tbc_www/views.py |
52 |
+++ b/python/tbc_www/views.py |
53 |
@@ -5,9 +5,9 @@ from django.shortcuts import render, get_object_or_404, HttpResponseRedirect |
54 |
from django.conf import settings |
55 |
|
56 |
from gentoo_www.models import SiteSettings, Layout, Pages, SubPages, Sponsors, Posts |
57 |
-from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs, BuildLogsRepomanQa, \ |
58 |
+from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs, BuildLogsQa, \ |
59 |
BuildJobsUse, Categories, CategoriesMetadata, Packages, PackagesMetadata, Ebuilds, \ |
60 |
- Repos, EbuildsKeywords, BuildLogsErrors, EbuildsRestrictions, EbuildsIuse |
61 |
+ Repos, EbuildsKeywords, BuildLogsErrors, EbuildsRestrictions, EbuildsIuse, PackagesRepoman |
62 |
import re |
63 |
|
64 |
def default_TmpDict(pagerequest): |
65 |
@@ -29,7 +29,7 @@ def default_TmpDict(pagerequest): |
66 |
|
67 |
def home(request): |
68 |
pagerequest = 'home' |
69 |
- Lines = 5 |
70 |
+ Lines = 10 |
71 |
TmpDict = default_TmpDict(pagerequest) |
72 |
TmpDict['EM'] = EbuildsMetadata.objects.filter(Revision = '1.1').order_by('-Id')[:Lines] |
73 |
alist = [] |
74 |
@@ -77,7 +77,8 @@ def home(request): |
75 |
adict2['title'] = adict2['title'] + "\n" |
76 |
adict[BJ.BuildJobId] = adict2 |
77 |
TmpDict['BJ'] = adict |
78 |
- TmpDict['RM'] = BuildLogsRepomanQa.objects.order_by('-Id')[:Lines] |
79 |
+ TmpDict['QA_tmp'] = BuildLogsQa.objects.order_by('-Id')[:Lines/2] |
80 |
+ TmpDict['PR_tmp'] = PackagesRepoman.objects.order_by('-Id')[:Lines/2] |
81 |
return render(request, 'pages/' + pagerequest + '/index.html', TmpDict) |
82 |
|
83 |
def categories(request): |
84 |
@@ -107,6 +108,12 @@ def packages(request, category_id): |
85 |
adict['Package'] = PM.PackageId.Package |
86 |
adict['Descriptions'] = PM.Descriptions |
87 |
adict['Changlog'] =PM.Changlog |
88 |
+ try: |
89 |
+ PackagesRepoman.objects.get(PackageId__PackageId = PM.PackageId.PackageId) |
90 |
+ except PackagesRepoman.DoesNotExist as e: |
91 |
+ adict['Repoman'] = False |
92 |
+ else: |
93 |
+ adict['Repoman'] = True |
94 |
ebuilds = [] |
95 |
for E in Ebuilds.objects.filter(Active = True).filter(PackageId__Package = PM.PackageId.Package): |
96 |
ebuilds.append(E.Version + '::' + E.PackageId.RepoId.Repo + '\n') |
97 |
@@ -119,11 +126,16 @@ def packages(request, category_id): |
98 |
def ebuilds(request, package_id): |
99 |
pagerequest = 'packages' |
100 |
TmpDict = default_TmpDict(pagerequest) |
101 |
- P = get_object_or_404(PackagesMetadata, PackageId__PackageId = package_id) |
102 |
+ P = get_object_or_404(PackagesMetadata, PackageId__PackageId = package_id) |
103 |
TmpDict['P'] = P |
104 |
TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) |
105 |
TmpDict['EK_tmp'] = EbuildsKeywords.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) |
106 |
- |
107 |
+ try: |
108 |
+ PackagesRepoman.objects.get(PackageId__PackageId = package_id) |
109 |
+ except PackagesRepoman.DoesNotExist as e: |
110 |
+ TmpDict['PR'] = False |
111 |
+ else: |
112 |
+ TmpDict['PR'] = True |
113 |
return render(request, 'pages/' + pagerequest + '/ebuilds/index.html', TmpDict) |
114 |
|
115 |
def ebuild(request, ebuild_id): |
116 |
@@ -188,12 +200,14 @@ def new_main(request): |
117 |
adict2['title'] = adict2['title'] + "\n" |
118 |
adict[BJ.BuildJobId] = adict2 |
119 |
TmpDict['BJ'] = adict |
120 |
- TmpDict['RM'] = BuildLogsRepomanQa.objects.order_by('-Id')[:Lines] |
121 |
+ TmpDict['QA_tmp'] = BuildLogsQa.objects.order_by('-Id')[:Lines/2] |
122 |
+ TmpDict['PR_tmp'] = PackagesRepoman.objects.order_by('-Id')[:Lines/2] |
123 |
return render(request, 'pages/' + pagerequest + '/index.html', TmpDict) |
124 |
|
125 |
def new_repomanqa(request): |
126 |
pagerequest = 'new' |
127 |
Lines = 30 |
128 |
TmpDict = default_TmpDict(pagerequest) |
129 |
- TmpDict['RM_tmp'] = BuildLogsRepomanQa.objects.order_by('-Id')[:Lines] |
130 |
+ TmpDict['QA_tmp'] = BuildLogsQa.objects.order_by('-Id')[:Lines/2] |
131 |
+ TmpDict['PR_tmp'] = PackagesRepoman.objects.order_by('-Id')[:Lines/2] |
132 |
return render(request, 'pages/' + pagerequest + '/repomanqa/index.html', TmpDict) |
133 |
|
134 |
diff --git a/python/templates/includes/frontpage/new_repoman_qa b/python/templates/includes/frontpage/new_repoman_qa |
135 |
index 1999362..61ac691 100644 |
136 |
--- a/python/templates/includes/frontpage/new_repoman_qa |
137 |
+++ b/python/templates/includes/frontpage/new_repoman_qa |
138 |
@@ -1,10 +1,18 @@ |
139 |
<table class="table table-striped frontpage-table"> |
140 |
- {% for R in RM %} |
141 |
+ {% for QA in QA_tmp %} |
142 |
<tr> |
143 |
- <td class="frontpage-table-package-atom"><a href="/repoman_qa/{{ R.BuildLogId.BuildLogId }}/" title="{{ R.BuildLogId.EbuildId.PackageId.CategoryId.Category }}/{{ R.BuildLogId.EbuildId.PackageId.Package }}-{{ R.BuildLogId.EbuildId.Version }}::{{ R.BuildLogId.EbuildId.PackageId.RepoId.Repo }}"> |
144 |
- {{ R.BuildLogId.EbuildId.PackageId.CategoryId.Category }}/{{ R.BuildLogId.EbuildId.PackageId.Package }}-{{ R.BuildLogId.EbuildId.Version }}::{{ R.BuildLogId.EbuildId.PackageId.RepoId.Repo }}</a> |
145 |
+ <td class="frontpage-table-package-atom"><a href="/repoman_qa/{{ QA.BuildLogId.BuildLogId }}/" title="{{ QA.BuildLogId.EbuildId.PackageId.CategoryId.Category }}/{{ QA.BuildLogId.EbuildId.PackageId.Package }}-{{ QA.BuildLogId.EbuildId.Version }}::{{ QA.BuildLogId.EbuildId.PackageId.RepoId.Repo }}"> |
146 |
+ {{ QA.BuildLogId.EbuildId.PackageId.CategoryId.Category }}/{{ QA.BuildLogId.EbuildId.PackageId.Package }}-{{ QA.BuildLogId.EbuildId.Version }}::{{ QA.BuildLogId.EbuildId.PackageId.RepoId.Repo }}</a> |
147 |
</td> |
148 |
- <td><p title="{{ R.SummeryText }}">{{ R.SummeryText|truncatewords:3 }}</p></td> |
149 |
+ <td><p title="{{ QA.SummeryText }}">{{ QA.SummeryText|truncatewords:3 }}</p></td> |
150 |
+ </tr> |
151 |
+ {% endfor %} |
152 |
+ {% for PR in PR_tmp %} |
153 |
+ <tr> |
154 |
+ <td class="frontpage-table-package-atom"><a href="/repoman/{{ PR.PackageId.PackageId }}/" title="{{ PR.PackageId.CategoryId.Category }}/{{ PR.PackageId.Package }}::{{ PR.PackageId.RepoId.Repo }}"> |
155 |
+ {{ PR.PackageId.CategoryId.Category }}/{{ PR.PackageId.Package }}::{{ PR.PackageId.RepoId.Repo }}</a> |
156 |
+ </td> |
157 |
+ <td><p title="{{ PR.RepomanText }}">{{ PR.RepomanText|truncatewords:3 }}</p></td> |
158 |
</tr> |
159 |
{% endfor %} |
160 |
</table> |
161 |
\ No newline at end of file |
162 |
|
163 |
diff --git a/python/templates/pages/packages/category/index.html b/python/templates/pages/packages/category/index.html |
164 |
index 2f2b6f2..8cc402d 100644 |
165 |
--- a/python/templates/pages/packages/category/index.html |
166 |
+++ b/python/templates/pages/packages/category/index.html |
167 |
@@ -12,7 +12,11 @@ |
168 |
</td> |
169 |
<td> |
170 |
<p title="{{ PM.Descriptions }}">{{ PM.Descriptions }}</p> |
171 |
- <p title="{% for P in PM.Ebuilds %}{{ PM.Package }}/{{ P }}{% endfor %}">Versions</p> |
172 |
+ <p title="{% for P in PM.Ebuilds %}{{ PM.Package }}/{{ P }}{% endfor %}">Versions |
173 |
+ {% if PM.Repoman %} |
174 |
+ <a class="btn btn-warning btn-xs" href="/repoman/{{PM.PackageId }}/">Repoman</a> |
175 |
+ {% endif %} |
176 |
+ </p> |
177 |
</td> |
178 |
</tr> |
179 |
</table> |
180 |
|
181 |
diff --git a/python/templates/pages/packages/ebuilds/index.html b/python/templates/pages/packages/ebuilds/index.html |
182 |
index f8e1b4e..10cca76 100644 |
183 |
--- a/python/templates/pages/packages/ebuilds/index.html |
184 |
+++ b/python/templates/pages/packages/ebuilds/index.html |
185 |
@@ -23,5 +23,8 @@ |
186 |
{% endfor %} |
187 |
</table> |
188 |
</div> |
189 |
+ {% if PR %} |
190 |
+ <a class="btn btn-warning btn-xs" href="/repoman/{{P.PackageId.PackageId }}/">Repoman</a> |
191 |
+ {% endif %} |
192 |
</div> |
193 |
{% endblock %} |
194 |
\ No newline at end of file |