return (stdout, stderr)
def log(self, stdout, stderr):
if self.logger and stdout:
- self.logger.debug("STDOUT: " + stdout)
+ self.logger.debug("STDOUT:\n" + stdout)
if self.logger and stderr:
- self.logger.debug("STDERR: " + stderr)
+ self.logger.debug("STDERR:\n" + stderr)
def callAsUser(self, *args, **kwargs):
user = kwargs.pop("user", None)
+ uid = kwargs.pop("uid", None)
kwargs.setdefault("python", is_python(args))
- if not user: return self.call(*args, **kwargs)
- return self.call("sudo", "-u", user, *args, **kwargs)
+ if not user and not uid: return self.call(*args, **kwargs)
+ if uid: return self.call("sudo", "-u", "#" + uid, *args, **kwargs)
+ if user: return self.call("sudo", "-u", user, *args, **kwargs)
class ParallelShell(Shell):
"""Commands are queued here, and executed in parallel (with