]> scripts.mit.edu Git - wizard.git/blobdiff - wizard/shell.py
Prevent perverse errors by unsetting GIT_DIR.
[wizard.git] / wizard / shell.py
index 4debb8cd5718cf4fd7ced2022af2e06b6d91b0ce..49a79245685697559735beb449533b5a7db3302a 100644 (file)
@@ -65,14 +65,16 @@ class Shell(object):
         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