[yum-git] yum/packages.py yum/sqlitesack.py
Seth Vidal
skvidal at linux.duke.edu
Fri Apr 18 19:14:03 UTC 2008
yum/packages.py | 2 ++
yum/sqlitesack.py | 12 +++++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
New commits:
commit e30cbf8ca5a63801639671f480346a2cb83715c3
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Fri Apr 18 15:12:44 2008 -0400
make errors raised for available and installed packages having incorrect attributes be the same
mark as a FIXME to make this an attribute error after we break the api in
the next major version change
diff --git a/yum/packages.py b/yum/packages.py
index 8a84ffa..49630f6 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -772,6 +772,8 @@ class YumHeaderPackage(YumAvailablePackage):
raise Errors.MiscError, "Unknown header tag %s" % tag
def __getattr__(self, thing):
+ #FIXME - if an error - return AttributeError, not KeyError
+ # ONLY FIX THIS AFTER THE API BREAK
return self.hdr[thing]
def doepoch(self):
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index dfc5932..25bf162 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -37,8 +37,8 @@ def catchSqliteException(func):
def newFunc(*args, **kwargs):
try:
return func(*args, **kwargs)
- except sqlutils.sqlite.Error:
- raise Errors.RepoError
+ except sqlutils.sqlite.Error, e:
+ raise Errors.RepoError, str(e.message)
newFunc.__name__ = func.__name__
newFunc.__doc__ = func.__doc__
@@ -129,9 +129,15 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
dbname = varname
if db2simplemap.has_key(varname):
dbname = db2simplemap[varname]
- r = self._sql_MD('primary',
+ try:
+ r = self._sql_MD('primary',
"SELECT %s FROM packages WHERE pkgId = ?" % dbname,
(self.pkgId,)).fetchone()
+ except Errors.RepoError, e:
+ if str(e).startswith('no such column'):
+ #FIXME - after API break make this an AttributeError Raise
+ raise KeyError, str(e)
+ raise
value = r[0]
if varname in {'vendor' : 1, 'packager' : 1, 'buildhost' : 1,
'license' : 1, 'group' : 1,
More information about the Yum-cvs-commits
mailing list