From 414f4a0bf4bfb6a8d5924b53287127788afd141e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 12 Oct 2011 10:45:30 +0000 Subject: [PATCH] Catch errors, if files cannot be removed. --- python/pakfire/packages/file.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/python/pakfire/packages/file.py b/python/pakfire/packages/file.py index 925513617..632c903e2 100644 --- a/python/pakfire/packages/file.py +++ b/python/pakfire/packages/file.py @@ -250,6 +250,10 @@ class FilePackage(Package): message = "%-10s : %s" % (message, self.friendly_name) pb = util.make_progress(message, len(members), eta=False) + # Collect messages with errors and warnings, that are passed to + # the user. + messages = [] + i = 0 for member in members: # Update progress. @@ -268,7 +272,10 @@ class FilePackage(Package): else: # Remove file if it has been existant - os.unlink(target) + try: + os.unlink(target) + except OSError: + messages.append(_("Could not remove file: /%s") % member.name) #if self.pakfire.config.get("debug"): # msg = "Creating file (%s:%03d:%03d) " % \ @@ -294,6 +301,10 @@ class FilePackage(Package): if pb: pb.finish() + # Print messages. + for msg in messages: + logging.warning(msg) + @property def metadata(self): """ -- 2.39.5