[Yum-devel] [PATCH 1/5] Split the setup part of _buildPkgObjList() into a separate function
James Antill
james at and.org
Mon Aug 17 15:33:36 UTC 2009
---
yum/sqlitesack.py | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 643f1f6..277ca8c 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -1434,16 +1434,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
unmatched = misc.unique(unmatched)
return exactmatch, matched, unmatched
- @catchSqliteException
- def _buildPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
- """Builds a list of packages, only containing nevra information. No
- excludes are done at this stage. """
+ def _setupPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
+ """Setup need_full and patterns for _buildPkgObjList, also see if
+ we can get away with just using searchNames(). """
if patterns is None:
patterns = []
- returnList = []
-
fields = ['name', 'sql_nameArch', 'sql_nameVerRelArch',
'sql_nameVer', 'sql_nameVerRel',
'sql_envra', 'sql_nevra']
@@ -1471,8 +1468,21 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
else:
tmp.append((pat, '='))
if not need_full and not need_glob and patterns:
- return self.searchNames(patterns)
+ return (need_full, patterns, True)
patterns = tmp
+ return (need_full, patterns, False)
+
+ @catchSqliteException
+ def _buildPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
+ """Builds a list of packages, only containing nevra information. No
+ excludes are done at this stage. """
+
+ returnList = []
+
+ (need_full, patterns, names) = self._setupPkgObjList(repoid, patterns,
+ ignore_case)
+ if names:
+ return self.searchNames(patterns)
for (repo,cache) in self.primarydb.items():
if (repoid == None or repoid == repo.id):
--
1.6.2.5
More information about the Yum-devel
mailing list