[yum-cvs] 2 commits - yum/packageSack.py yum/sqlitesack.py
James Antill
james at linux.duke.edu
Wed Dec 12 15:50:59 UTC 2007
yum/packageSack.py | 13 +++++++++++--
yum/sqlitesack.py | 2 ++
2 files changed, 13 insertions(+), 2 deletions(-)
New commits:
commit 32b7e9139243b2b11ec53c887d76a09869d85fc6
Merge: d86112d... c1f0b3b...
Author: James Antill <james at and.org>
Date: Wed Dec 12 10:50:57 2007 -0500
Merge branch 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum
* 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum:
added at 'install kernel' testcase to test a current problem with 'install kernel' installing old kernels
cleanup skip broken code and fixes some issues
commit d86112d643d62d9e93d99a6ee2142e205192b003
Author: James Antill <james at and.org>
Date: Wed Dec 12 10:50:42 2007 -0500
Faster __len__ method for MetaSack, should fix speed regression with updates
diff --git a/yum/packageSack.py b/yum/packageSack.py
index 6723d70..d2b2d4b 100644
--- a/yum/packageSack.py
+++ b/yum/packageSack.py
@@ -30,7 +30,7 @@ class PackageSackBase(object):
self.added = {}
def __len__(self):
- return len(self.simplePkgList())
+ return len(self.returnPackages())
def __iter__(self):
ret = self.returnPackages()
@@ -220,6 +220,12 @@ class MetaSack(PackageSackBase):
self.sacks = {}
self.compatarchs = None
+ def __len__(self):
+ ret = 0
+ for sack in self.sacks.values():
+ ret += len(sack)
+ return ret
+
def addSack(self, repoid, sack):
"""Adds a repository's packageSack to this MetaSack."""
self.sacks[repoid] = sack
@@ -434,7 +440,10 @@ class PackageSack(PackageSackBase):
def __len__(self):
- return len(self.simplePkgList())
+ ret = 0
+ for repo in self.pkgsByRepo.keys():
+ ret += len(self.pkgsByRepo[repo])
+ return ret
def _checkIndexes(self, failure='error'):
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index cd842b1..a8c7c5a 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -232,6 +232,8 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
@catchSqliteException
def __len__(self):
+ if hasattr(self, 'pkgobjlist'):
+ return len(self.pkgobjlist)
for (rep,cache) in self.primarydb.items():
cur = cache.cursor()
executeSQL(cur, "select count(pkgId) from packages")
More information about the Yum-cvs-commits
mailing list