diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index bc4758b28ead0f5cef12d70cba2777cb51295326..0d1d227dc816efd383b42d30243ab26081ec78a6 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -329,7 +329,8 @@ class Task(models.Model): @property def sasid_ingested_fraction(self): result = {} - statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finished': 0} + statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finished': 0, + 'suspended': 0,'discarded': 0, 'archived_failed': 0, 'finished_failed': 0} tasks = Task.objects.filter(sas_id=self.sas_id) @@ -339,10 +340,15 @@ class Task(models.Model): except: pass - incomplete = int(statusses['scrubbed']) + int(statusses['archiving']) + incomplete = int(statusses['scrubbed']) + int(statusses['archiving']) \ + + int(statusses['suspended']) + int(statusses['discarded']) \ + + int(statusses['archived_failed']) + int(statusses['finished_failed']) complete = int(statusses['archived']) + int(statusses['finished']) completion = round(complete / (incomplete + complete) * 100) - result['status'] = statusses + + non_zero_statusses = {key: value for key, value in statusses.items() if value != 0} + + result['status'] = non_zero_statusses result['completion'] = completion return result