File: redirectoutput.py

package info (click to toggle)
qtwebengine-opensource-src 5.7.1+dfsg-6.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,028,096 kB
  • ctags: 1,436,736
  • sloc: cpp: 5,960,176; ansic: 3,477,727; asm: 395,492; python: 320,633; sh: 96,504; perl: 69,449; xml: 42,977; makefile: 28,408; objc: 9,962; yacc: 9,847; tcl: 5,430; lex: 2,259; ruby: 1,053; lisp: 522; awk: 497; pascal: 310; cs: 249; sed: 53
file content (29 lines) | stat: -rw-r--r-- 777 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

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)