Do not emit progress if stderr is not a tty

Avoids logging progress data into cron logs, etc.

Suggested-by: Michael Richardson <mcr@sandelman.ottawa.on.ca>
Change-Id: I4eefa2c282f0ca0a95a0185612b52e2146669e4c
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/progress.py b/progress.py
index b119b37..2ace701 100644
--- a/progress.py
+++ b/progress.py
@@ -13,10 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import os
 import sys
 from time import time
 from trace import IsTrace
 
+_NOT_TTY = not os.isatty(2)
+
 class Progress(object):
   def __init__(self, title, total=0):
     self._title = title
@@ -29,7 +32,7 @@
   def update(self, inc=1):
     self._done += inc
 
-    if IsTrace():
+    if _NOT_TTY or IsTrace():
       return
 
     if not self._show:
@@ -56,7 +59,7 @@
         sys.stderr.flush()
 
   def end(self):
-    if IsTrace() or not self._show:
+    if _NOT_TTY or IsTrace() or not self._show:
       return
 
     if self._total <= 0: