From 258ea65cec2ccf576b842875bfb85de6507b3552 Mon Sep 17 00:00:00 2001 From: lxnay Date: Tue, 26 Aug 2008 10:33:51 +0000 Subject: [PATCH] Entropy/PortageInterface: - handle exceptions on Portage classes instantiation - add a new exception called SPMError git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2334 cd1c1023-2f26-0410-ae45-c471fc1f0318 --- libraries/entropy.py | 20 ++++++++++++++++---- libraries/exceptionTools.py | 3 +++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/libraries/entropy.py b/libraries/entropy.py index 23d1c50dc..447c247b4 100644 --- a/libraries/entropy.py +++ b/libraries/entropy.py @@ -11609,7 +11609,10 @@ class PortageInterface: if cached != None: return cached - mytree = self.portage.vartree(root=root) + try: + mytree = self.portage.vartree(root=root) + except Exception, e: + raise exceptionTools.SPMError("SPMError: %s: %s" % (Exception,e,)) etpConst['spm']['cache']['portage']['vartree'][root] = mytree return mytree @@ -11624,7 +11627,10 @@ class PortageInterface: if cached != None: return cached - mytree = self.portage.portagetree(root=root) + try: + mytree = self.portage.portagetree(root=root) + except Exception, e: + raise exceptionTools.SPMError("SPMError: %s: %s" % (Exception,e,)) etpConst['spm']['cache']['portage']['portagetree'][root] = mytree return mytree @@ -11640,7 +11646,10 @@ class PortageInterface: return cached pkgdir = root+self.portage.settings['PKGDIR'] - mytree = self.portage.binarytree(root,pkgdir) + try: + mytree = self.portage.binarytree(root,pkgdir) + except Exception, e: + raise exceptionTools.SPMError("SPMError: %s: %s" % (Exception,e,)) etpConst['spm']['cache']['portage']['binarytree'][root] = mytree return mytree @@ -11655,7 +11664,10 @@ class PortageInterface: if cached != None: return cached - mysettings = self.portage.config(config_root = config_root, target_root = root, config_incrementals = self.portage_const.INCREMENTALS) + try: + mysettings = self.portage.config(config_root = config_root, target_root = root, config_incrementals = self.portage_const.INCREMENTALS) + except Exception, e: + raise exceptionTools.SPMError("SPMError: %s: %s" % (Exception,e,)) etpConst['spm']['cache']['portage']['config'][(config_root,root)] = mysettings return mysettings diff --git a/libraries/exceptionTools.py b/libraries/exceptionTools.py index 3c2cb6a71..d71f80d8c 100644 --- a/libraries/exceptionTools.py +++ b/libraries/exceptionTools.py @@ -83,6 +83,9 @@ class FtpError(EntropyException): class SystemDatabaseError(EntropyException): """Cannot open system database""" +class SPMError(EntropyException): + """Source Package Manager generic errors""" + class OnlineMirrorError(EntropyException): """Mirror issue"""