commit: f1d51cfa2fe8f8a781dc31e3f6ca7ad6436b8563
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 24 00:17:26 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Fri Jul 24 00:17:26 2015 +0000
URL:
https://gitweb.gentoo.org/proj/tinderbox-cluster-www.git/commit/?id=f1d51cfa
fix error, repoman, qa view in new logs
python/tbc_www/models.py | 22 +++++++++++++++---
python/tbc_www/views.py | 34 ++++++++++++++++++++++++----
python/templates/includes/frontpage/new_logs | 26 +++++++++++++++++----
3 files changed, 70 insertions(+), 12 deletions(-)
diff --git a/python/tbc_www/models.py b/python/tbc_www/models.py
index 9827583..621a7dc 100644
--- a/python/tbc_www/models.py
+++ b/python/tbc_www/models.py
@@ -80,8 +80,6 @@ class BuildLogs(models.Model):
BuildLogId = models.IntegerField(primary_key=True,
db_column='build_log_id')
EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id')
Fail = models.BooleanField(db_column='fail')
- RmQa = models.BooleanField(db_column='rmqa')
- Others = models.BooleanField(db_column='others')
SummeryText = models.TextField(db_column='summery_text')
LogHash = models.CharField(max_length=100, db_column='log_hash')
BugId = models.IntegerField( db_column='bug_id')
@@ -89,7 +87,7 @@ class BuildLogs(models.Model):
class Meta:
db_table = 'build_logs'
def __str__(self):
- return '%s %s %s %s %s %s %s %s %s' % (self.BuildLogId,
self.EbuildId, self.Fail, self.RmQa, self.Others, self.SummeryText,
self.LogHash, self.BugId, self.TimeStamp)
+ return '%s %s %s %s %s %s %s' % (self.BuildLogId,
self.EbuildId, self.Fail, self.SummeryText, self.LogHash, self.BugId,
self.TimeStamp)
class BuildLogsRepomanQa(models.Model):
Id = models.IntegerField(primary_key=True, db_column='id')
@@ -100,6 +98,24 @@ class BuildLogsRepomanQa(models.Model):
def __str__(self):
return '%s %s %s' % (self.Id, self.BuildLogId, self.SummeryText)
+class ErrorsInfo(models.Model):
+ ErrorId = models.IntegerField(primary_key=True, db_column='error_id')
+ ErrorName = models.CharField(max_length=20, db_column='error_name')
+ ErrorSearch = models.CharField(max_length=30, db_column='error_search')
+ class Meta:
+ db_table = 'errors_info'
+ def __str__(self):
+ return '%s %s %s' % (self.ErrorId, self.ErrorName,
self.ErrorSearch)
+
+class BuildLogsErrors(models.Model):
+ Id = models.IntegerField(primary_key=True, db_column='id')
+ BuildLogId = models.ForeignKey(BuildLogs, db_column='build_log_id')
+ ErrorId = models.ForeignKey(ErrorsInfo, db_column='error_id')
+ class Meta:
+ db_table = 'build_logs_errors'
+ def __str__(self):
+ return '%s %s %s' % (self.Id, self.BuildLogId, self.ErrorId)
+
class Setups(models.Model):
SetupId = models.AutoField(primary_key=True, db_column='setup_id')
Setup = models.CharField(max_length=100, db_column='setup')
diff --git a/python/tbc_www/views.py b/python/tbc_www/views.py
index 2559f8d..f68a706 100644
--- a/python/tbc_www/views.py
+++ b/python/tbc_www/views.py
@@ -7,7 +7,7 @@ from django.conf import settings
from gentoo_www.models import SiteSettings, Layout, Pages, SubPages, Sponsors,
Posts
from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs,
BuildLogsRepomanQa, \
BuildJobsUse, Categories, CategoriesMetadata, Packages,
PackagesMetadata, Ebuilds, \
- Repos, EbuildsKeywords
+ Repos, EbuildsKeywords, BuildLogsErrors
import re
def default_TmpDict(pagerequest):
@@ -30,10 +30,22 @@ def default_TmpDict(pagerequest):
def home(request):
pagerequest = 'home'
Lines = 5
- adict = {}
TmpDict = default_TmpDict(pagerequest)
TmpDict['EM'] = EbuildsMetadata.objects.filter(Revision =
'1.1').order_by('-Id')[:Lines]
- TmpDict['BL'] = BuildLogs.objects.order_by('-TimeStamp')[:Lines]
+ adict = {}
+ for BL in BuildLogs.objects.order_by('-TimeStamp')[:Lines]:
+ adict2 = {}
+ adict2['C'] = BL.EbuildId.PackageId.CategoryId.Category
+ adict2['P'] = BL.EbuildId.PackageId.Package
+ adict2['V'] = BL.EbuildId.Version
+ adict2['R'] = BL.EbuildId.PackageId.RepoId.Repo
+ adict2['Fail'] = BL.Fail
+ adict2['SummeryText'] = BL.SummeryText
+ if BL.Fail:
+ adict2['BE_tmp'] =
BuildLogsErrors.objects.filter(BuildLogId = BL.BuildLogId)
+ adict[BL.BuildLogId] = adict2
+ TmpDict['BL'] = adict
+ adict = {}
BJ_Tmp = BuildJobs.objects.order_by('-TimeStamp')[:Lines]
for BJ in BJ_Tmp:
adict2 = {}
@@ -115,10 +127,22 @@ def ebuilds(request, package_id):
def new_main(request):
pagerequest = 'new'
Lines = 30
- adict = {}
TmpDict = default_TmpDict(pagerequest)
TmpDict['EM'] = EbuildsMetadata.objects.filter(Revision =
'1.1').order_by('-Id')[:Lines]
- TmpDict['BL'] = BuildLogs.objects.order_by('-TimeStamp')[:Lines]
+ adict = {}
+ for BL in BuildLogs.objects.order_by('-TimeStamp')[:Lines]:
+ adict2 = {}
+ adict2['C'] = BL.EbuildId.PackageId.CategoryId.Category
+ adict2['P'] = BL.EbuildId.PackageId.Package
+ adict2['V'] = BL.EbuildId.Version
+ adict2['R'] = BL.EbuildId.PackageId.RepoId.Repo
+ adict2['Fail'] = BL.Fail
+ adict2['SummeryText'] = BL.SummeryText
+ if BL.Fail:
+ adict2['BE_tmp'] =
BuildLogsErrors.objects.filter(BuildLogId = BL.BuildLogId)
+ adict[BL.BuildLogId] = adict2
+ TmpDict['BL'] = adict
+ adict = {}
BJ_Tmp = BuildJobs.objects.order_by('-TimeStamp')[:Lines]
for BJ in BJ_Tmp:
adict2 = {}
diff --git a/python/templates/includes/frontpage/new_logs
b/python/templates/includes/frontpage/new_logs
index 6534201..afe190c 100644
--- a/python/templates/includes/frontpage/new_logs
+++ b/python/templates/includes/frontpage/new_logs
@@ -1,9 +1,27 @@
<table class="table table-striped frontpage-table">
- {% for B in BL %}
+ {% for BuildLogId, B in BL.items %}
<tr>
- <td class="frontpage-table-package-atom"><a href="/new_logs/{{
B.BuildLogId }}/" title="{{ B.EbuildId.PackageId.CategoryId.Category }}/{{
B.EbuildId.PackageId.Package }}-{{ B.EbuildId.Version }}::{{
B.EbuildId.PackageId.RepoId.Repo }}">
- {{ B.EbuildId.PackageId.CategoryId.Category }}/{{
B.EbuildId.PackageId.Package }}-{{ B.EbuildId.Version }}::{{
B.EbuildId.PackageId.RepoId.Repo }}</a></td>
- <td><p title="{{ B.SummeryText }}">{{ B.SummeryText|truncatewords:3
}}</p><td class="text-right">{% if B.Fail %}<span class="label
label-danger">Fail</span>{% endif %}</td></td>
+ <td class="frontpage-table-package-atom"><a href="/new_logs/{{
BuildLogId }}/" title="{{ B.C }}/{{ B.P }}-{{ B.V }}::{{ B.R }}">
+ {{ B.C }}/{{ B.P }}-{{ B.V }}::{{ B.R }}</a></td>
+ <td><p title="{{ B.SummeryText }}">{{ B.SummeryText|truncatewords:3
}}</p>
+ <td class="text-right">
+ {% if B.Fail %}
+ {% for BE in B.BE_tmp %}
+ {% if BE.BuildLogId.BuildLogId == BuildLogId %}
+ {% if BE.ErrorId.ErrorId == 1 or BE.ErrorId.ErrorId == 2 %}
+ <span class="label label-warning">{{
BE.ErrorId.ErrorName|upper }}</span>
+ {% elif BE.ErrorId.ErrorId == 3 %}
+ <span class="label label-info">OTHERS</span>
+ {% else %}
+ <span class="label label-danger">{{
BE.ErrorId.ErrorName|upper}}</span>
+ {% endif %}
+ {% endif %}
+ {% endfor %}
+ {% else %}
+ <span class="label label-success">OK</span>
+ {% endif %}
+ </td>
+ </td>
</tr>
{% endfor %}
</table>
\ No newline at end of file