2002-09-10 10:14:10 +00:00
|
|
|
#! /usr/bin/env python
|
2000-06-12 11:27:15 +00:00
|
|
|
# This is a general wrapper script that will allow
|
|
|
|
# us to maintain security in the external material
|
|
|
|
# insets.
|
|
|
|
# Use like this:
|
|
|
|
# general_command_wrapper.py stdin-filename stdout-filename command args
|
|
|
|
# Use "-" for stdin-filename and stdout-filename to use the normal stdio
|
|
|
|
|
|
|
|
import sys
|
|
|
|
import os
|
|
|
|
|
|
|
|
if sys.argv[1] != "-":
|
|
|
|
os.close(0)
|
|
|
|
sys.stdin = open(sys.argv[1],"r")
|
|
|
|
if sys.argv[2] != "-":
|
|
|
|
print "Redirecting" + sys.argv[2]
|
|
|
|
os.close(1)
|
|
|
|
os.close(2)
|
|
|
|
sys.stdout = open(sys.argv[2],"w")
|
|
|
|
sys.stderr = open(sys.argv[2],"w")
|
|
|
|
|
|
|
|
os.execvp(sys.argv[3], sys.argv[3:])
|
|
|
|
print "Could not run " + sys.argv[3]
|
|
|
|
|