diff options
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
-rw-r--r-- | bitbake/lib/toaster/orm/models.py | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index abc16d9b88..ba3ade06f1 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py | |||
@@ -34,11 +34,9 @@ class Build(models.Model): | |||
34 | (IN_PROGRESS, 'In Progress'), | 34 | (IN_PROGRESS, 'In Progress'), |
35 | ) | 35 | ) |
36 | 36 | ||
37 | search_allowed_fields = ['machine', 'image_fstypes', | 37 | search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"] |
38 | 'cooker_log_path', "target__target"] | ||
39 | 38 | ||
40 | machine = models.CharField(max_length=100) | 39 | machine = models.CharField(max_length=100) |
41 | image_fstypes = models.CharField(max_length=100) | ||
42 | distro = models.CharField(max_length=100) | 40 | distro = models.CharField(max_length=100) |
43 | distro_version = models.CharField(max_length=100) | 41 | distro_version = models.CharField(max_length=100) |
44 | started_on = models.DateTimeField() | 42 | started_on = models.DateTimeField() |
@@ -53,16 +51,46 @@ class Build(models.Model): | |||
53 | 51 | ||
54 | @python_2_unicode_compatible | 52 | @python_2_unicode_compatible |
55 | class Target(models.Model): | 53 | class Target(models.Model): |
56 | search_allowed_fields = ['target', 'image_fstypes', 'file_name'] | 54 | search_allowed_fields = ['target', 'file_name'] |
57 | build = models.ForeignKey(Build) | 55 | build = models.ForeignKey(Build) |
58 | target = models.CharField(max_length=100) | 56 | target = models.CharField(max_length=100) |
59 | is_image = models.BooleanField(default = False) | 57 | is_image = models.BooleanField(default = False) |
60 | file_name = models.CharField(max_length=100) | ||
61 | file_size = models.IntegerField() | ||
62 | 58 | ||
63 | def __str__(self): | 59 | def __str__(self): |
64 | return self.target | 60 | return self.target |
65 | 61 | ||
62 | class Target_Image_File(models.Model): | ||
63 | target = models.ForeignKey(Target) | ||
64 | file_name = models.FilePathField(max_length=100) | ||
65 | file_size = models.IntegerField() | ||
66 | |||
67 | class Target_File(models.Model): | ||
68 | ITYPE_REGULAR = 1 | ||
69 | ITYPE_DIRECTORY = 2 | ||
70 | ITYPE_SYMLINK = 3 | ||
71 | ITYPE_SOCKET = 4 | ||
72 | ITYPE_FIFO = 5 | ||
73 | ITYPE_CHARACTER = 6 | ||
74 | ITYPE_BLOCK = 7 | ||
75 | ITYPE_SYMBLINK = 8 | ||
76 | ITYPES = ( (ITYPE_REGULAR ,'regular'), | ||
77 | ( ITYPE_DIRECTORY ,'directory'), | ||
78 | ( ITYPE_SYMLINK ,'symlink'), | ||
79 | ( ITYPE_SOCKET ,'socket'), | ||
80 | ( ITYPE_FIFO ,'fifo'), | ||
81 | ( ITYPE_CHARACTER ,'character'), | ||
82 | ( ITYPE_BLOCK ,'block'), | ||
83 | ( ITYPE_SYMLINK ,'symblink')) | ||
84 | |||
85 | target = models.ForeignKey(Target) | ||
86 | path = models.FilePathField() | ||
87 | size = models.IntegerField() | ||
88 | inodetype = models.IntegerField(choices = ITYPES) | ||
89 | permission = models.IntegerField() | ||
90 | owner = models.CharField(max_length=128) | ||
91 | group = models.CharField(max_length=128) | ||
92 | directory = models.ForeignKey('Target_File', related_name="directory_set") | ||
93 | sym_target = models.ForeignKey('Target_File', related_name="symlink_set", blank=True) | ||
66 | 94 | ||
67 | 95 | ||
68 | class TaskManager(models.Manager): | 96 | class TaskManager(models.Manager): |
@@ -149,7 +177,7 @@ class Task(models.Model): | |||
149 | line_number = models.IntegerField(default=0) | 177 | line_number = models.IntegerField(default=0) |
150 | disk_io = models.IntegerField(null=True) | 178 | disk_io = models.IntegerField(null=True) |
151 | cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True) | 179 | cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True) |
152 | elapsed_time = models.CharField(max_length=50, default=0) | 180 | elapsed_time = models.DecimalField(max_digits=6, decimal_places=2, null=True) |
153 | sstate_result = models.IntegerField(choices=SSTATE_RESULT, default=SSTATE_NA) | 181 | sstate_result = models.IntegerField(choices=SSTATE_RESULT, default=SSTATE_NA) |
154 | message = models.CharField(max_length=240) | 182 | message = models.CharField(max_length=240) |
155 | logfile = models.FilePathField(max_length=255, blank=True) | 183 | logfile = models.FilePathField(max_length=255, blank=True) |
@@ -236,7 +264,6 @@ class Recipe(models.Model): | |||
236 | description = models.CharField(max_length=100, blank=True) | 264 | description = models.CharField(max_length=100, blank=True) |
237 | section = models.CharField(max_length=100, blank=True) | 265 | section = models.CharField(max_length=100, blank=True) |
238 | license = models.CharField(max_length=200, blank=True) | 266 | license = models.CharField(max_length=200, blank=True) |
239 | licensing_info = models.TextField(blank=True) | ||
240 | homepage = models.URLField(blank=True) | 267 | homepage = models.URLField(blank=True) |
241 | bugtracker = models.URLField(blank=True) | 268 | bugtracker = models.URLField(blank=True) |
242 | file_path = models.FilePathField(max_length=255) | 269 | file_path = models.FilePathField(max_length=255) |
@@ -280,6 +307,7 @@ class Variable(models.Model): | |||
280 | 307 | ||
281 | class VariableHistory(models.Model): | 308 | class VariableHistory(models.Model): |
282 | variable = models.ForeignKey(Variable, related_name='vhistory') | 309 | variable = models.ForeignKey(Variable, related_name='vhistory') |
310 | value = models.TextField(blank=True) | ||
283 | file_name = models.FilePathField(max_length=255) | 311 | file_name = models.FilePathField(max_length=255) |
284 | line_number = models.IntegerField(null=True) | 312 | line_number = models.IntegerField(null=True) |
285 | operation = models.CharField(max_length=16) | 313 | operation = models.CharField(max_length=16) |
@@ -294,6 +322,7 @@ class LogMessage(models.Model): | |||
294 | (ERROR, "error") ) | 322 | (ERROR, "error") ) |
295 | 323 | ||
296 | build = models.ForeignKey(Build) | 324 | build = models.ForeignKey(Build) |
325 | task = models.ForeignKey(Task, blank = True, null=True) | ||
297 | level = models.IntegerField(choices=LOG_LEVEL, default=INFO) | 326 | level = models.IntegerField(choices=LOG_LEVEL, default=INFO) |
298 | message=models.CharField(max_length=240) | 327 | message=models.CharField(max_length=240) |
299 | pathname = models.FilePathField(max_length=255, blank=True) | 328 | pathname = models.FilePathField(max_length=255, blank=True) |