]> git.ipfire.org Git - pakfire.git/commitdiff
Catch errors, if files cannot be removed.
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 12 Oct 2011 10:45:30 +0000 (10:45 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 12 Oct 2011 10:45:30 +0000 (10:45 +0000)
python/pakfire/packages/file.py

index 925513617656c6b8993b846299d86f119c3bc020..632c903e25f371ebc26fdab59b5d46115973eaf3 100644 (file)
@@ -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):
                """