From b99c5c5c78a8d2e1313ae91e25d3938c01aab9bc Mon Sep 17 00:00:00 2001 From: dol-sen Date: Sat, 6 Aug 2011 11:26:44 -0700 Subject: add debug messages, fix broken UnknownOverlayException --- layman/dbbase.py | 13 ++++++++++--- layman/overlays/git.py | 1 + layman/overlays/overlay.py | 1 + layman/overlays/source.py | 5 +++++ 4 files changed, 17 insertions(+), 3 deletions(-) (limited to 'layman') diff --git a/layman/dbbase.py b/layman/dbbase.py index 4714d5f..dfe6ec8 100644 --- a/layman/dbbase.py +++ b/layman/dbbase.py @@ -44,12 +44,14 @@ from layman.overlays.overlay import Overlay # #------------------------------------------------------------------------------- def UnknownOverlayMessage(ovl): - return 'Overlay "%s" does not exist.' % ovl + return 'Exception: Overlay "%s" does not exist.' % ovl class UnknownOverlayException(Exception): def __init__(self, repo_name): - UnknownOverlayMessage(repo_name) - super(UnknownOverlayException, self).__init__(message) + self.repo_name = repo_name + + def __str__(self): + return UnknownOverlayMessage(self.repo_name) #=============================================================================== # @@ -236,7 +238,12 @@ class DbBase(object): >>> list(a.select('wrobel-stable').source_uris()) [u'rsync://gunnarwrobel.de/wrobel-stable'] ''' + self.output.debug("DbBase.select(), overlay = %s" % overlay, 5) if not overlay in self.overlays.keys(): + self.output.debug("DbBase.select(), unknown overlay = %s" + % overlay, 4) + self.output.debug("DbBase.select(), known overlays = %s" + % ', '.join(self.overlays.keys()), 4) raise UnknownOverlayException(overlay) return self.overlays[overlay] diff --git a/layman/overlays/git.py b/layman/overlays/git.py index f6a350f..64a0dfb 100644 --- a/layman/overlays/git.py +++ b/layman/overlays/git.py @@ -74,6 +74,7 @@ class GitOverlay(OverlaySource): def sync(self, base, quiet = False): '''Sync overlay.''' + self.output.debug("git.sync(); starting...%s" % self.parent.name, 6) if not self.supported(): return 1 diff --git a/layman/overlays/overlay.py b/layman/overlays/overlay.py index 60d57d4..8eaa77e 100644 --- a/layman/overlays/overlay.py +++ b/layman/overlays/overlay.py @@ -420,6 +420,7 @@ class Overlay(object): def sync(self, base, quiet = False): + self.output.debug("overlay.sync(); name = %s" % self.name, 4) assert len(self.sources) == 1 return self.sources[0].sync(base, quiet) diff --git a/layman/overlays/source.py b/layman/overlays/source.py index a62cd15..a57baf4 100644 --- a/layman/overlays/source.py +++ b/layman/overlays/source.py @@ -173,6 +173,11 @@ class OverlaySource(object): except KeyboardInterrupt: self.output.info('Interrupted manually', 2) result = 1 + except Exception as err: + self.output.error( + 'Unknown exception running command: %s' % command_repr, 2) + self.output.error('Original error was: %s' % str(err), 2) + result = 1 if self.quiet: output_target.close() -- cgit v1.2.3-1-g7c22