[pypy-svn] r9971 - pypy/dist/pypy/documentation/revreport

hpk at codespeak.net hpk at codespeak.net
Mon Mar 21 00:48:44 CET 2005


Author: hpk
Date: Mon Mar 21 00:48:44 2005
New Revision: 9971

Modified:
   pypy/dist/pypy/documentation/revreport/revreport.py
Log:
be a bit more careful about printing stdout/stderr 
on non-ttys 


Modified: pypy/dist/pypy/documentation/revreport/revreport.py
==============================================================================
--- pypy/dist/pypy/documentation/revreport/revreport.py	(original)
+++ pypy/dist/pypy/documentation/revreport/revreport.py	Mon Mar 21 00:48:44 2005
@@ -4,21 +4,14 @@
 import py
 from pypy.documentation.revreport import delta 
 from pypy.tool.pypyrev import pypyrev 
+from py.__impl__.test.tool.outerrcapture import SimpleOutErrCapture 
 
 BASE = py.path.local(delta.__file__).dirpath() 
 DEST = BASE.join('revdata') 
 
 assert DEST.dirpath().check() 
 
-if __name__ == '__main__':
-    rev = pypyrev()  
-    revdir = DEST.ensure(str(rev), dir=1) 
-    BASE.join('delta.css').copy(revdir) 
-    BASE.join('delta.js').copy(revdir) 
-    delta.genreport(revdir) 
-
-    print "generated into", revdir 
-
+def updatecurrent(): 
     l = []
     for x in DEST.listdir(): 
         try: 
@@ -36,3 +29,27 @@
         latest.copy(current) 
     else: 
         current.mksymlinkto(latest) 
+
+if __name__ == '__main__':
+    rev = pypyrev()  
+    revdir = DEST.ensure(str(rev), dir=1) 
+    BASE.join('delta.css').copy(revdir) 
+    BASE.join('delta.js').copy(revdir) 
+
+    if py.std.sys.stdout.isatty(): 
+        delta.genreport(revdir) 
+    else: 
+        capture = SimpleOutErrCapture() 
+        try: 
+            delta.genreport(revdir) 
+        except: 
+            out, err = capture.done()  
+            print "stdout", out 
+            print "stderr", err 
+            raise 
+        else: 
+            out, err = capture.done() 
+            print "stdout"
+            print out 
+    print "generated into", revdir 
+    updatecurrent() 



More information about the Pypy-commit mailing list