mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
bitbake: toaster: refactor build model
We remove the "timespent", "errors_no" and "warnings_no" fields in favor of computing the needed values at runtime. This prevents inconsistencies in the UI. Also removeing all references to BuildRequests from the interface - all build details now display in the build dashboard. Minor fixes related to data logging. (Bitbake rev: 44f37394ed3e4ca02f940be172fe4395b0ee0f7d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
287b49a35b
commit
70c4eb8d3a
@@ -147,7 +147,7 @@ class Project(models.Model):
|
||||
if (-1 == build_id):
|
||||
return( 0 )
|
||||
try:
|
||||
return Build.objects.filter(id = build_id)[ 0 ].errors_no
|
||||
return Build.objects.filter(id = build_id)[ 0 ].errors.count()
|
||||
except (Build.DoesNotExist,IndexError):
|
||||
return( "not_found" )
|
||||
|
||||
@@ -156,7 +156,7 @@ class Project(models.Model):
|
||||
if (-1 == build_id):
|
||||
return( 0 )
|
||||
try:
|
||||
return Build.objects.filter(id = build_id)[ 0 ].warnings_no
|
||||
return Build.objects.filter(id = build_id)[ 0 ].warnings.count()
|
||||
except (Build.DoesNotExist,IndexError):
|
||||
return( "not_found" )
|
||||
|
||||
@@ -248,10 +248,7 @@ class Build(models.Model):
|
||||
distro_version = models.CharField(max_length=100)
|
||||
started_on = models.DateTimeField()
|
||||
completed_on = models.DateTimeField()
|
||||
timespent = models.IntegerField(default=0)
|
||||
outcome = models.IntegerField(choices=BUILD_OUTCOME, default=IN_PROGRESS)
|
||||
errors_no = models.IntegerField(default=0)
|
||||
warnings_no = models.IntegerField(default=0)
|
||||
cooker_log_path = models.CharField(max_length=500)
|
||||
build_name = models.CharField(max_length=100)
|
||||
bitbake_version = models.CharField(max_length=50)
|
||||
@@ -281,6 +278,17 @@ class Build(models.Model):
|
||||
def toaster_exceptions(self):
|
||||
return self.logmessage_set.filter(level=LogMessage.EXCEPTION)
|
||||
|
||||
@property
|
||||
def errors(self):
|
||||
return (self.logmessage_set.filter(level=LogMessage.ERROR)|self.logmessage_set.filter(level=LogMessage.EXCEPTION))
|
||||
|
||||
@property
|
||||
def warnings(self):
|
||||
return self.logmessage_set.filter(level=LogMessage.WARNING)
|
||||
|
||||
@property
|
||||
def timespent_seconds(self):
|
||||
return (self.completed_on - self.started_on).total_seconds()
|
||||
|
||||
def get_current_status(self):
|
||||
from bldcontrol.models import BuildRequest
|
||||
@@ -298,7 +306,6 @@ class BuildArtifact(models.Model):
|
||||
file_name = models.FilePathField()
|
||||
file_size = models.IntegerField()
|
||||
|
||||
|
||||
def get_local_file_name(self):
|
||||
try:
|
||||
deploydir = Variable.objects.get(build = self.build, variable_name="DEPLOY_DIR").variable_value
|
||||
|
||||
Reference in New Issue
Block a user