summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/orm/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
-rw-r--r--bitbake/lib/toaster/orm/models.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index e93629b7ba..077c94d818 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -147,7 +147,7 @@ class Project(models.Model):
147 if (-1 == build_id): 147 if (-1 == build_id):
148 return( 0 ) 148 return( 0 )
149 try: 149 try:
150 return Build.objects.filter(id = build_id)[ 0 ].errors_no 150 return Build.objects.filter(id = build_id)[ 0 ].errors.count()
151 except (Build.DoesNotExist,IndexError): 151 except (Build.DoesNotExist,IndexError):
152 return( "not_found" ) 152 return( "not_found" )
153 153
@@ -156,7 +156,7 @@ class Project(models.Model):
156 if (-1 == build_id): 156 if (-1 == build_id):
157 return( 0 ) 157 return( 0 )
158 try: 158 try:
159 return Build.objects.filter(id = build_id)[ 0 ].warnings_no 159 return Build.objects.filter(id = build_id)[ 0 ].warnings.count()
160 except (Build.DoesNotExist,IndexError): 160 except (Build.DoesNotExist,IndexError):
161 return( "not_found" ) 161 return( "not_found" )
162 162
@@ -248,10 +248,7 @@ class Build(models.Model):
248 distro_version = models.CharField(max_length=100) 248 distro_version = models.CharField(max_length=100)
249 started_on = models.DateTimeField() 249 started_on = models.DateTimeField()
250 completed_on = models.DateTimeField() 250 completed_on = models.DateTimeField()
251 timespent = models.IntegerField(default=0)
252 outcome = models.IntegerField(choices=BUILD_OUTCOME, default=IN_PROGRESS) 251 outcome = models.IntegerField(choices=BUILD_OUTCOME, default=IN_PROGRESS)
253 errors_no = models.IntegerField(default=0)
254 warnings_no = models.IntegerField(default=0)
255 cooker_log_path = models.CharField(max_length=500) 252 cooker_log_path = models.CharField(max_length=500)
256 build_name = models.CharField(max_length=100) 253 build_name = models.CharField(max_length=100)
257 bitbake_version = models.CharField(max_length=50) 254 bitbake_version = models.CharField(max_length=50)
@@ -281,6 +278,17 @@ class Build(models.Model):
281 def toaster_exceptions(self): 278 def toaster_exceptions(self):
282 return self.logmessage_set.filter(level=LogMessage.EXCEPTION) 279 return self.logmessage_set.filter(level=LogMessage.EXCEPTION)
283 280
281 @property
282 def errors(self):
283 return (self.logmessage_set.filter(level=LogMessage.ERROR)|self.logmessage_set.filter(level=LogMessage.EXCEPTION))
284
285 @property
286 def warnings(self):
287 return self.logmessage_set.filter(level=LogMessage.WARNING)
288
289 @property
290 def timespent_seconds(self):
291 return (self.completed_on - self.started_on).total_seconds()
284 292
285 def get_current_status(self): 293 def get_current_status(self):
286 from bldcontrol.models import BuildRequest 294 from bldcontrol.models import BuildRequest
@@ -298,7 +306,6 @@ class BuildArtifact(models.Model):
298 file_name = models.FilePathField() 306 file_name = models.FilePathField()
299 file_size = models.IntegerField() 307 file_size = models.IntegerField()
300 308
301
302 def get_local_file_name(self): 309 def get_local_file_name(self):
303 try: 310 try:
304 deploydir = Variable.objects.get(build = self.build, variable_name="DEPLOY_DIR").variable_value 311 deploydir = Variable.objects.get(build = self.build, variable_name="DEPLOY_DIR").variable_value