From 648753b30d494268bdb1cd3ea07afd6a88633c5b Mon Sep 17 00:00:00 2001 From: Michael Wood Date: Wed, 4 Nov 2015 14:48:54 +0000 Subject: bitbake: toaster: orm Add sum of dependencies size function to PackageDependencyManager Add function that returns the Sum of the size of all the packages which depend on a package. Access get_total_source_deps_size via a packages's dependency manager. (Bitbake rev: e4c86d2f6c2e86ad054b37d0a5bf7464a4de4f9a) Signed-off-by: Michael Wood Signed-off-by: brian avery Signed-off-by: Richard Purdie --- bitbake/lib/toaster/orm/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/toaster/orm') diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 9c573bf003..37f78d7102 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py @@ -20,7 +20,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.db import models, IntegrityError -from django.db.models import F, Q, Avg, Max +from django.db.models import F, Q, Avg, Max, Sum from django.utils import timezone from django.core.urlresolvers import reverse @@ -727,6 +727,12 @@ class Package_DependencyManager(models.Manager): def get_queryset(self): return super(Package_DependencyManager, self).get_queryset().exclude(package_id = F('depends_on__id')) + def get_total_source_deps_size(self): + """ Returns the total file size of all the packages that depend on + thispackage. + """ + return self.all().aggregate(Sum('depends_on__size')) + class Package_Dependency(models.Model): TYPE_RDEPENDS = 0 TYPE_TRDEPENDS = 1 -- cgit v1.2.3-54-g00ecf