Ver código fonte

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>
Shawn O. Pearce 15 anos atrás
pai
commit
f4f04d9fa8
1 arquivos alterados com 5 adições e 2 exclusões
  1. 5 2
      progress.py

+ 5 - 2
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 @@ class Progress(object):
   def update(self, inc=1):
     self._done += inc
 
-    if IsTrace():
+    if _NOT_TTY or IsTrace():
       return
 
     if not self._show:
@@ -56,7 +59,7 @@ class Progress(object):
         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: