[PATCH 2/2] Improve TTY ui to not always prepend 'sync account foo'

Sebastian Spaeth Sebastian at SSpaeth.de
Sun Dec 5 14:35:02 UTC 2010


This is very excessive and a bit annoying. Output that information
only if the next line concerns a different account/thread than the
previous one. This quiets down the UI quite a bit without losing
information.

While modifying this line, use the newer Thread.name and not the as
per python doc's old syntax getName()

Signed-off-by: Sebastian Spaeth <Sebastian at SSpaeth.de>
---
 offlineimap/ui/TTY.py |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/offlineimap/ui/TTY.py b/offlineimap/ui/TTY.py
index 99c46d4..4c574b2 100644
--- a/offlineimap/ui/TTY.py
+++ b/offlineimap/ui/TTY.py
@@ -26,6 +26,7 @@ class TTYUI(UIBase):
         UIBase.__init__(s, config, verbose)
         s.iswaiting = 0
         s.outputlock = Lock()
+        s._lastThreaddisplay = None
 
     def isusable(s):
         return sys.stdout.isatty() and sys.stdin.isatty()
@@ -33,10 +34,16 @@ class TTYUI(UIBase):
     def _display(s, msg):
         s.outputlock.acquire()
         try:
-            if (currentThread().getName() == 'MainThread'):
-                print msg
+            #if the next output comes from a different thread than our last one
+            #add the info.
+            #Most look like 'account sync foo' or 'Folder sync foo'.
+            threadname = currentThread().name
+            if (threadname == s._lastThreaddisplay):
+                print " %s" % msg
             else:
-                print "%s:\n   %s" % (currentThread().getName(), msg)
+                print "%s:\n %s" % (threadname, msg)
+                s._lastThreaddisplay = threadname
+
             sys.stdout.flush()
         finally:
             s.outputlock.release()
-- 
1.7.1




More information about the OfflineIMAP-project mailing list