return
args = []
for k,v in os.environ.items():
- if k.startswith('WIZARD_'):
+ if k.startswith('WIZARD_') or k == "SSH_GSSAPI_NAME":
args.append("%s=%s" % (k,v))
args += sys.argv
logging.debug("Dropping priviledges")
>>> sh.call("cat", input='Foobar')
('Foobar', '')
"""
+ kwargs.setdefault("interactive", False)
+ kwargs.setdefault("strip", False)
kwargs.setdefault("python", None)
- logging.info("Running `" + ' '.join(args) + "`")
+ if kwargs["strip"]:
+ logging.debug("Evaluating `" + ' '.join(args) + "`")
+ else:
+ logging.info("Running `" + ' '.join(args) + "`")
if self.dry:
return
if kwargs["python"] is None and is_python(args):
args = list(args)
args[0] = wizard_bin
kwargs.setdefault("input", None)
- kwargs.setdefault("interactive", False)
- kwargs.setdefault("strip", False)
if kwargs["interactive"]:
stdout=sys.stdout
stdin=sys.stdin
return proc
stdout, stderr = proc.communicate(kwargs["input"])
if not kwargs["interactive"]:
- self._log(stdout, stderr)
+ if kwargs["strip"]:
+ self._log(None, stderr)
+ else:
+ self._log(stdout, stderr)
if proc.returncode:
if kwargs["python"]: eclass = PythonCallError
else: eclass = CallError