[yum-commits] Branch 'yum-3_2_X' - yum/Errors.py yum/__init__.py
James Antill
james at osuosl.org
Fri Jul 16 19:11:55 UTC 2010
yum/Errors.py | 17 +++++++++++++++++
yum/__init__.py | 3 ++-
2 files changed, 19 insertions(+), 1 deletion(-)
New commits:
commit 0074ae11f40b7262eeade7727c4b4f64cc7fdf61
Author: James Antill <james at and.org>
Date: Thu Jul 15 16:28:15 2010 -0400
Fix API for anaconda catching rpm transaction failures, BZ 613817
diff --git a/yum/Errors.py b/yum/Errors.py
index 211625b..143c9a4 100644
--- a/yum/Errors.py
+++ b/yum/Errors.py
@@ -46,6 +46,23 @@ class YumTestTransactionError(YumBaseError):
class YumRPMCheckError(YumBaseError):
pass
+class YumRPMTransError(YumBaseError):
+ """ This class means rpm's .ts.run() returned known errors. We are compat.
+ with YumBaseError in that we print nicely, and compat. with traditional
+ usage of this error from runTransaction(). """
+ def __init__(self, msg, errors):
+ self.msg = msg
+ self.errors = errors
+ # old YumBaseError raises from runTransaction used to raise just this
+ self.value = self.errors
+
+ def __str__(self):
+ return "%s" %(self.msg,)
+
+ def __unicode__(self):
+ return '%s' % to_unicode(self.msg)
+
+
class LockError(YumBaseError):
def __init__(self, errno, msg, pid=0):
YumBaseError.__init__(self)
diff --git a/yum/__init__.py b/yum/__init__.py
index c7d3a42..0b3f627 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1367,7 +1367,8 @@ class YumBase(depsolve.Depsolve):
self.logger.critical(_("Transaction couldn't start:"))
for e in errors:
self.logger.critical(e[0]) # should this be 'to_unicoded'?
- raise Errors.YumBaseError, _("Could not run transaction.")
+ raise Errors.YumRPMTransError(msg=_("Could not run transaction."),
+ errors=errors)
if not self.conf.keepcache:
More information about the Yum-commits
mailing list