[yum-cvs] yum callback.py,1.30,1.31

Seth Vidal skvidal at linux.duke.edu
Thu Feb 1 04:21:24 UTC 2007


Update of /home/groups/yum/cvs/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv3335

Modified Files:
	callback.py 
Log Message:

merge Ed Swierk's lovely patch to keep the rpm callback from updating uselessly.


Index: callback.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/callback.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- callback.py	5 Dec 2006 00:40:51 -0000	1.30
+++ callback.py	1 Feb 2007 04:21:22 -0000	1.31
@@ -33,6 +33,7 @@
         self.total_removed = 0
         self.mark = "#"
         self.marks = 27
+        self.lastmsg = None
         self.logger = logging.getLogger('yum.filelogging.RPMInstallCallback')
 
         self.myprocess = { TS_UPDATE : 'Updating', 
@@ -106,6 +107,7 @@
             pass
 
         elif what == rpm.RPMCALLBACK_INST_OPEN_FILE:
+            self.lastmsg = None
             hdr = None
             if h is not None:
                 hdr, rpmloc = h
@@ -157,9 +159,11 @@
                         msg = fmt % ('Repackage', h)
                         if bytes == total:
                             msg = msg + "\n"
-                            
-                        sys.stdout.write(msg)
-                        sys.stdout.flush()
+
+                        if msg != self.lastmsg:
+                            sys.stdout.write(msg)
+                            sys.stdout.flush()
+                            self.lastmsg = msg
                 else:
                     hdr, rpmloc = h
                     if total == 0:
@@ -179,8 +183,10 @@
                             if self.output and (sys.stdout.isatty() or bytes == total):
                                 fmt = self._makefmt(percent)
                                 msg = fmt % (process, hdr['name'])
-                                sys.stdout.write(msg)
-                                sys.stdout.flush()
+                                if msg != self.lastmsg:
+                                    sys.stdout.write(msg)
+                                    sys.stdout.flush()
+                                    self.lastmsg = msg
                                 if bytes == total:
                                     print " "
 




More information about the Yum-cvs-commits mailing list