[pypy-svn] r79425 - pypy/trunk/pypy/tool

arigo at codespeak.net arigo at codespeak.net
Tue Nov 23 18:34:29 CET 2010


Author: arigo
Date: Tue Nov 23 18:34:28 2010
New Revision: 79425

Modified:
   pypy/trunk/pypy/tool/logparser.py
Log:
Adapt a bit.


Modified: pypy/trunk/pypy/tool/logparser.py
==============================================================================
--- pypy/trunk/pypy/tool/logparser.py	(original)
+++ pypy/trunk/pypy/tool/logparser.py	Tue Nov 23 18:34:28 2010
@@ -12,14 +12,6 @@
 from pypy.tool import progressbar
 
 def parse_log_file(filename, verbose=True):
-    r_start = re.compile(r"\[([0-9a-fA-F]+)\] \{([\w-]+)$")
-    r_stop  = re.compile(r"\[([0-9a-fA-F]+)\] ([\w-]+)\}$")
-    lasttime = 0
-    log = DebugLog()
-    time_decrase = False
-    performance_log = True
-    nested = 0
-    #
     f = open(filename, 'r')
     if f.read(2) == 'BZ':
         f.close()
@@ -30,19 +22,32 @@
     lines = f.readlines()
     f.close()
     #
-    if sys.stdout.isatty():
+    return parse_log(lines, verbose=verbose)
+
+def parse_log(lines, verbose=False):
+    r_start = re.compile(r"\[([0-9a-fA-F]+)\] \{([\w-]+)$")
+    r_stop  = re.compile(r"\[([0-9a-fA-F]+)\] ([\w-]+)\}$")
+    lasttime = 0
+    log = DebugLog()
+    time_decrase = False
+    performance_log = True
+    nested = 0
+    #
+    if verbose and sys.stdout.isatty():
         progress = progressbar.ProgressBar(color='green')
+        counter = 0
+    else:
+        progress = None
     single_percent = len(lines) / 100
     if verbose:
-        vnext = single_percent
+        vnext = 0
     else:
-        vnext = len(lines)
-    counter = 0
+        vnext = -1
     for i, line in enumerate(lines):
         if i == vnext:
-            counter += 1
-            if sys.stdout.isatty():
+            if progress is not None:
                 progress.render(counter)
+                counter += 1
                 vnext += single_percent
             else:
                 sys.stderr.write('%d%%..' % int(100.0*i/len(lines)))



More information about the Pypy-commit mailing list