diff --git a/src/apps/pages/views.py b/src/apps/pages/views.py index 429202571..cd8a9d946 100644 --- a/src/apps/pages/views.py +++ b/src/apps/pages/views.py @@ -71,12 +71,31 @@ def get_context_data(self, *args, **kwargs): context['submissions'] = qs[:250] for submission in context['submissions']: + # Get filesize from each submissions's data + submission.file_size = self.format_file_size(submission.data.file_size) # Get queue from each submission's competition queue_name = "*" if submission.phase.competition.queue is None else submission.phase.competition.queue.name submission.competition_queue = queue_name return context + def format_file_size(self, file_size): + """ + A custom function to convert file size to KB, MB, GB and return with the unit + """ + try: + n = float(file_size) + except ValueError: + return "" + + units = ['KB', 'MB', 'GB'] + i = 0 + while n >= 1000 and i < len(units) - 1: + n /= 1000 + i += 1 + + return f"{n:.1f} {units[i]}" + def page_not_found_view(request, exception): print(request) diff --git a/src/templates/pages/server_status.html b/src/templates/pages/server_status.html index c8b2398e5..cecb57e91 100644 --- a/src/templates/pages/server_status.html +++ b/src/templates/pages/server_status.html @@ -11,6 +11,7 @@