summaryrefslogtreecommitdiffstats
path: root/qtip/web/bench/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'qtip/web/bench/models.py')
-rw-r--r--qtip/web/bench/models.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/qtip/web/bench/models.py b/qtip/web/bench/models.py
index 863af739..3f0439d9 100644
--- a/qtip/web/bench/models.py
+++ b/qtip/web/bench/models.py
@@ -18,15 +18,33 @@ from django.urls import reverse
class Repo(models.Model):
name = models.CharField(max_length=200, blank=False)
- github_link = models.URLField(unique=True)
+ git_link = models.URLField(unique=True)
def get_absolute_url(self):
return reverse('repo_update', args=[self.pk])
+ def __str__(self):
+ return "%s, %s" % (self.name, self.git_link)
+
class Task(models.Model):
+ TASK_STATUS_CHOICES = (
+ ('P', 'Pending'),
+ ('IP', 'In progress'),
+ ('F', 'Finished')
+ )
+
start_time = models.DateTimeField(auto_now_add=True)
- end_time = models.DateTimeField()
- run_time = models.DurationField()
+ status = models.CharField(choices=TASK_STATUS_CHOICES, default='P', max_length=20)
+ end_time = models.DateTimeField(null=True)
+ run_time = models.DurationField(null=True)
repo = models.ForeignKey('Repo', on_delete=models.DO_NOTHING)
- log = models.TextField()
+ log = models.FileField(upload_to='logs')
+
+ def save(self, **kwargs):
+ if self.end_time:
+ self.run_time = self.end_time - self.start_time
+ super(Task, self).save(kwargs)
+
+ def get_absolute_url(self):
+ return reverse('task_view', args=[self.pk])