diff options
Diffstat (limited to 'third_party/mesa/redirectoutput.py')
-rw-r--r-- | third_party/mesa/redirectoutput.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/third_party/mesa/redirectoutput.py b/third_party/mesa/redirectoutput.py new file mode 100644 index 0000000..5103403 --- /dev/null +++ b/third_party/mesa/redirectoutput.py @@ -0,0 +1,25 @@ +import os +import os.path +import subprocess +import sys + +if len(sys.argv) < 3: + print "Usage: %s OUTPUTFILE SCRIPTNAME ARGUMENTS" % sys.argv[0] + print "Re-execs the python interpreter against SCRIPTNAME with ARGS," + print "redirecting output to OUTPUTFILE." + sys.exit(1) + +abs_outputfile = os.path.abspath(sys.argv[1]) +abs_outputdir = os.path.dirname(abs_outputfile) + +if not os.path.isdir(abs_outputdir): + os.makedirs(abs_outputdir) + +ret = 0 + +with open(abs_outputfile, "w") as f: + ret = subprocess.Popen([sys.executable] + sys.argv[2:], stdout=f).wait() + +if ret: + os.remove(abs_outputfile) + sys.exit(ret) |