From 702791c03da764de73663bab6b7d451ffdab623e Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Tue, 18 Aug 2009 05:50:51 +0200 Subject: [PATCH] [entropy.client.interfaces.package] improve output when printing collision info --- .../entropy/client/interfaces/package.py | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/libraries/entropy/client/interfaces/package.py b/libraries/entropy/client/interfaces/package.py index 37d28d0f0..edb86f0db 100644 --- a/libraries/entropy/client/interfaces/package.py +++ b/libraries/entropy/client/interfaces/package.py @@ -458,6 +458,7 @@ class Package: # remove files from system directories = set() not_removed_due_to_collisions = set() + colliding_path_messages = set() remove_content = sorted(self.infoDict['removecontent'], reverse = True) for item in remove_content: sys_root_item = sys_root+item @@ -466,19 +467,7 @@ class Package: if self.Entropy.clientDbconn.isFileAvailable(item) and os.path.isfile(sys_root_item): # in this way we filter out directories - mytxt = red(_("Collision found during removal of")) + " " + sys_root_item + " - " - mytxt += red(_("cannot overwrite")) - self.Entropy.updateProgress( - mytxt, - importance = 1, - type = "warning", - header = red(" ## ") - ) - self.Entropy.clientLog.log( - ETP_LOGPRI_INFO, - ETP_LOGLEVEL_NORMAL, - "Collision found during remove of "+sys_root_item+" - cannot overwrite" - ) + colliding_path_messages.add(sys_root_item) not_removed_due_to_collisions.add(item) continue @@ -570,6 +559,26 @@ class Package: except OSError: pass + if colliding_path_messages: + self.Entropy.updateProgress( + "%s:" % (_("Collision found during removal of"),), + importance = 1, + type = "warning", + header = red(" ## ") + ) + + for path in sorted(colliding_path_messages): + self.Entropy.updateProgress( + purple(path), + importance = 0, + type = "warning", + header = red(" ## ") + ) + self.Entropy.clientLog.log(ETP_LOGPRI_INFO, ETP_LOGLEVEL_NORMAL, + "Collision found during removal of %s - cannot overwrite" % ( + path,) + ) + # removing files not removed from removecontent. # it happened that boot services not removed due to # collisions got removed from their belonging runlevels