[Piuparts-commits] [piuparts] 02/06: lib/db: _compute_package_state(): compute dep_states once

Holger Levsen holger at moszumanska.debian.org
Tue Jan 21 02:07:50 UTC 2014


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch develop
in repository piuparts.

commit ca4cd4eca287818c4c8750471f9fabddae247581
Author: Andreas Beckmann <anbe at debian.org>
Date:   Mon Jan 20 11:07:07 2014 +0100

    lib/db: _compute_package_state(): compute dep_states once
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>
---
 piupartslib/packagesdb.py | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index 7f38fd8..5455917 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -478,16 +478,15 @@ class PackagesDB:
                     if prefer_alt_score >= 0:
                         package.prefer_alt_depends(header, d, prefer_alt)
 
-        deps = package.dependencies()
+        dep_states = [(dep, self.get_package_state(dep))
+                        for dep in package.dependencies()]
 
-        for dep in deps:
-            dep_state = self.get_package_state(dep)
+        for dep, dep_state in dep_states:
             if dep_state in self._propagate_error_state:
                 return self._propagate_error_state[dep_state]
 
         testable = True
-        for dep in deps:
-            dep_state = self.get_package_state(dep)
+        for dep, dep_state in dep_states:
             if dep_state not in self._good_states:
                 testable = False
                 break
@@ -498,8 +497,7 @@ class PackagesDB:
         circular_deps = self._get_dependency_cycle(package["Package"])
         if package["Package"] in circular_deps:
             testable = True
-            for dep in deps:
-                dep_state = self.get_package_state(dep)
+            for dep, dep_state in dep_states:
                 if dep in circular_deps:
                     # allow any non-error dep_state on the cycle for testing
                     # (error states are handled by the error propagation above)
@@ -511,8 +509,7 @@ class PackagesDB:
             if testable:
                 return "waiting-to-be-tested"
 
-        for dep in deps:
-            dep_state = self.get_package_state(dep)
+        for dep, dep_state in dep_states:
             if dep_state in self._propagate_waiting_state:
                 return self._propagate_waiting_state[dep_state]
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/piuparts/piuparts.git



More information about the Piuparts-commits mailing list