-
Nico Vermaas authored
adding status buttons to GUI
Nico Vermaas authoredadding status buttons to GUI
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
algorithms.py 913 B
"""
File name: algorithms.py
Author: Nico Vermaas - Astron
Date created: 2019-04-04
Description: Business logic for ATDB. These functions are called from the views (views.py).
"""
from django.db.models import Sum
import logging
from .common import timeit
from ..models import Task
DATE_FORMAT = "%Y-%m-%d"
TIME_FORMAT = "%Y-%m-%d %H:%M:%SZ"
DJANGO_TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
logger = logging.getLogger(__name__)
@timeit
def get_size(status_list):
"""
aggregate the sizes of all task with a status in the list
:param status_list: list of statuses to consider for the aggregation
:return: summed sizes
"""
logger.info("get_size("+status_list+")")
#todo: implement
query = field + '__sum'
sum_value = Task.objects.filter(status__in=status_list).aggregate(Sum(field))[query]
if sum_value == None:
sum_value = 0.0
return sum_value